Вывод уведомлений и сообщений в avatar.tpl.php

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 30 апреля 2019 в 17:26
Всем здравствуйте, хочу вывести уведомления и сообщения по схеме (сообщение + уведомления = общее число) и вывести над аватаркой, т.к стандартная реализация не очень нравится. Как это можно реализовать?
#2 30 апреля 2019 в 21:14


Всем здравствуйте, хочу вывести уведомления и сообщения по схеме (сообщение + уведомления = общее число) и вывести над аватаркой, т.к стандартная реализация не очень нравится. Как это можно реализовать?

hard990

Реализовать тут можно все что вздумается.
Идешь по пути: \sitename\templates\name\controllers\users\widgets\avatar\avatar.tpl.php
И делаешь в нем все что нужно тебе, а потом просто выводишь на сайте через виджеты.
#3 1 мая 2019 в 11:24
hard990,
Добрый день!
Чтобы вывести уведомления и сообщения в avatar.tpl.php, а точнее вывести сумму уведомлений и сообщений в avatar.tpl.php
вам нужно в файле \templates\name\controllers\users\widgets\avatar\avatar.tpl.php

вставить следующий код

  1.  
  2. <?php
  3. $user = cmsUser::getInstance(); // получим пользователя
  4. $notices_count = cmsCore::getModel('messages')->getNoticesCount($user->id); // получим количество уведомлений пользователя
  5. $messages_count = cmsCore::getModel('messages')->getNewMessagesCount($user->id); // получим количество сообщений пользователя
  6. $nm_count = $notices_count+$messages_count; // суммируем кол-во уведомлений + сообщений
  7. ?>
  8. <style>
  9. /* стиль счетчика уведомлений */
  10. .nm_count,
  11. .nm_count_zero {
  12. position: absolute;
  13. top: 5px;
  14. right: 22px;
  15. font-size: 10px;
  16. color: #FFFFFF;
  17. min-width: 10px;
  18. padding: 0px 5px;
  19. border-radius: 10px;
  20. text-align: center;
  21. line-height: 20px;
  22. vertical-align: middle;
  23. display: block;
  24. }
  25. /* если уведомления есть, то цвет красный */
  26. .nm_count {
  27. background: #f44336;
  28. }
  29. /* если уведомлений нет, то цвет синий */
  30. .nm_count_zero {
  31. background: #2980b9;
  32. }
  33. </style>
  34. <div class="widget_user_avatar">
  35.  
  36. <div class="user_info">
  37.  
  38. <div class="avatar">
  39. <a href="<?php echo href_to('users', $user->id); ?>">
  40. <?php echo html_avatar_image($user->avatar, 'micro', $user->nickname); ?>
  41. </a>
  42.  
  43. <!-- выводим сумму количество уведомлений + сообщений-->
  44. <span class="nm_count<?php if($nm_count == 0){ echo '_zero'; } ?>"><?php echo $nm_count; ?></span>
  45.  
  46. </div>
  47.  
  48. <div class="name">
  49. <a href="<?php echo href_to('users', $user->id); ?>">
  50. <?php html($user->nickname); ?>
  51. </a>
  52. </div>
  53.  
  54. </div>
  55.  
  56. <?php $this->menu( $widget->options['menu'], $widget->options['is_detect'], 'menu', $widget->options['max_items'] ); ?>
  57.  
  58. </div>
  59.  
  60.  
получиться как на скриншоте ниже

#4 11 мая 2019 в 00:52
Red Ray,
Большое Вам спасибо за помощь, очень сильно помогли. Просто переходил с DLE и мне не очень была понятна механика работы InstantCMS, но теперь, я по немного начал понимать логику работы движка и отдельное спасибо за "верстку" самого уведомления
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.