Оповещение о новых комментариях в меню пользователя

Аватар пользователя Orig Orig 2 февраля 2014 в 19:39

Всем добрый вечер ! Такая задача - через модуль views были созданы новости пользователей сайт/user/%/track , в это представление было добавлено поле * Содержимое : Новые комментарии * , то есть если есть новые комментарии к материалу еоторый созданный пользователем , то это появляется в его новостях и после просмотра комментария надпись *→ Есть новые комментарии* исчезает (см. скрин). Так вот возможно так сделать , чтобы в меню пользователя при добавлении новых комментариев к их материалам появлялось оповещения в меню , как о новых сообщениях от модуля Privatemsg * Сообщения (1) * , так же и в меню *Мой трекер (1)* Когда есть новые комментарии (ответы)

Комментарии

Аватар пользователя VasyOK VasyOK 9 января в 23:54

"Новые комментарии" в списке нод вывести не сложно.
Не помню точно как. Народ, че молчим?

Аватар пользователя buddy90210 buddy90210 10 января в 10:25

Если в режиме реального времени то можно через nodejs, навскидку, проверять добавленный комментарий через хуки, затем выводить определенному пользователю через его UID ( к примеру обновлять views или вставлять через js )

Аватар пользователя VasyOK VasyOK 10 января в 15:08

Ну во вьюхе, которая материалы выводит есть же способ вывести обозначение "новые комментарии". Еще с 6го Друпала.

Аватар пользователя vladtulku vladtulku 10 января в 16:31

Во вьюхе есть поле "Содержимое: Новые комментарии" но есть некоторые НО
1. Это поле выводит количество новых комментариев для каждой ноды в отдельности.
2. В D8 возможность выбрать и добавить это поле появляется при неизвестных обстоятельствах.

Проблема первого пункта в том, что нод у пользователя может быть более одной и мы получаем список из цифр. Думал можно их просуммировать агрегацией, но не получилось.

Проблема второго пункта вообще непонятна. Изначально данного поля в восьмерке нет. Но оно появляется после отображения некоторого поля. Какого не знаю. У меня случайно получилось выбрать один раз это поле и все. При этом агрегация в тот момент не была включена. А последующее включение так и не добавляла пункта настройки этого поля. Плюс нужно решить проблему первого пункта.

У данного поля есть полезная возможность "Добавить ссылку на первый новый комментарий". Как вариант можно выводить точку на колокольчике или менять цвет колокольчика, без указания количества сообщений.

P.S. как вариант можно посмотреть на сборки друпала, возможно там есть готовое решение данной проблемы.

Аватар пользователя VasyOK VasyOK 10 января в 16:58

Ну вот и вывести это поле вьюхой. А если новых комментариев нет - то скрыть поле.
А потом поле передвинуть до пункта меню. Хоть програмным выводом вьюхе в пункте меню хоть через jQuery.

Аватар пользователя ivnish ivnish 10 января в 16:59

Мне кажется, проще в кастомном модуле сделать блок, который будет кодом получать наличие новых комментариев и выводить строку "есть новые комментарии". Работы на полчаса при условии, что блок будет драшем сгенерирован

О, или вместо блока можно сделать вычисляемое поле для views, если нужно во вьюхе использовать

Аватар пользователя vladtulku vladtulku 10 января в 22:17

Вывести блок со строчкой "есть новые комментарии", "точку", "колокольчик" можно и с помощью друпала из коробки, без всякого кода и драша. В семерке из коробки, в восьмерке тоже +анал с бубном.

Проблема разместить суммарное значение ВСЕХ новых комментариев в виде ОДНОЙ цифры. И желательно в виде ссылки на эти самые комментарии. Вот тут без кода не обойтись и пахнет полезным модулем. Token это поле выдает как {{ new_comments }} но это сумма комментов для каждой из нод.