Плагин Вкладка с сообщениями

instantcms 1.10.3

#1 5 января 2014 в 13:39
Хочу вывести последние входящие сообщения пользователя в отдельной вкладке в профиле. Делал по аналогии с плагином "Вкладка со статьями". Написал такой код, но он не работает:
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст


Помогите советом. Через {debug} посмотрел, массив $messages = false
#2 5 января 2014 в 14:19
Если кому-то так будет проще, то вот ссылка на гит: github.com/cms-admin/p_usertab_mess
#3 5 января 2014 в 15:27
Попробуйте заменить метод viewTab() на тот, который под спойлером.
  1.  
  2. public function viewTab($user_id){
  3.  
  4. $inCore = cmsCore::getInstance();
  5. $inDB = cmsDatabase::getInstance();
  6.  
  7. cmsCore::loadModel('users');
  8. $model = new cms_model_users();
  9. $inDB->addJoin("INNER JOIN cms_user_msg m ON m.from_id = u.id AND m.to_id = '{$user_id}' AND m.to_del = 0");
  10. $total = $model->getMessagesCount();print_r($total);
  11.  
  12. $inDB->orderBy('id', 'DESC');
  13. $inDB->limitPage(1, (int)$this->config['PUM_LIMIT']);
  14.  
  15. $messages = $total ?
  16. $model->getMessages() :
  17. array(); $inDB->resetConditions();
  18.  
  19.  
  20. cmsPage::initTemplate('plugins', 'p_usertab_mess.tpl')->
  21. assign('total', $total)->
  22. assign('messages', $messages)->
  23. display('p_usertab_mess.tpl');
  24.  
  25. return ob_get_clean();
  26.  
  27. }
  28.  
#4 5 января 2014 в 15:46
Марат, спасибо, все работает. А я никак не мог додуматься как правильно выборку сделать. Как все оформлю, выложу для всеобщего пользования.
#5 5 января 2014 в 15:57
Alexander Sooslick, из кода метода уберите плиз в 10 строчке:
  1. print_r($total);
Вечно что-нибудь да забуду :=)
#6 5 января 2014 в 16:17
Марат, да я догадался joke
#7 5 января 2014 в 18:54
Еще один вопрос. Можно как-то прикрутить метод
  1. $model->markAsReadMessage($id, $perpage);
Чтобы при открытии вкладки, сообщения помечались как прочитанные, а то они висят как новые, пока не зайдешь в компонент сообщений.
#8 18 января 2014 в 21:10
Будет супер!
#9 19 января 2014 в 10:46
У меня пока получилось сделать кнопку на ajax с надписью "Прочитано", она тупо обращается к странице с сообщениями текущего пользователя и в итоге они все становятся прочитанными. Но хотелось бы реализации под каждое сообщение…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.