drupal.ru
drupal.ru copied to clipboard
Внедрить подписку на комментарии материала без написания своего комментария
Без написания своего комментария. Просто галочка/флаг "подписаться на пост". Очень многие пользователи это просят
Сейчас у нас используется модуль https://www.drupal.org/project/comment_notify но у него галочка без AJAX и требуется написать свой комментарий и поставить галочку, чтобы подписаться на новые комментарии в посте.
Необходимо поискать контрибный модуль, который будет работать через AJAX
хм.. на одном текущем проекте есть задача организовать удобную платформу для дискуссий. В том числе и подписка на подветку комментария. А в общем, это будет страница профиля пользователя с интрументарием навигации по своим комментариям: 1.Подписки на подветки. 2.Подписки на комментариии по по определенным темам. 3.Подписки на комментарии определенных пользователей. 4.Ответы на "мои" комментарии. 5.Ответы на комментарии из той же ветки. и т.д.
Понимаю, возможно на drupal.ru этого всего не нужно, но необходимой частью функионала с удовольствием поделюсь.
Какие-то дополнения-уточнения-пожелания по теме есть? И где почитать, как оформить коммит? Тут наверное будет не просто "коммит", а отдельный модуль-коммит? Или "отдельный" модуль для данной задачи уже где-то есть?
Для друпал.ру думаю будет достаточно просто подписки на определённый пост без написания комента. Желательно решить вопрос контрибным(и) модулем(ми). Мы не очень приветствуем кастом. По поводу коммитов напишу завтра, с телефона неудобно
Отлично. Лично у меня нет вопросов по поводу наличия в профиле странички со своими комментами/ответами/подписками. Есть вопросы насчет подветок и определенных тем, навскидку не вижу как легко и удобно сделать.
По оформлению кода, имхо лучше отдельным модулем-фичей.
Ок.. немного разберусь как устроены комменты на drupal.ru конкретнее : меню ссылок коммента (изменить, цитировать и т.п.)
логичнее всего это должна быть аякс-ссылка, по которой коммент добавится в подписки. очень похоже на контриб-модуль flag, надо подумать, может опртимальнее задействовать его.
flag у нас уже есть, если что
Поясню: суть Issue в том, что сейчас чтобы подписаться на комментарии в посте (получать уведомления на почту) нужно самому написать комментарий и поставить галочку.
А нужно, чтобы была возможность подписаться без написания комента
Это понятно, что должна быть возможность с того места страницы, где расположен комментарий, подписаться на его "подкомментарии". Далее, получается, необходима возможность управлять своими подписками комментариев и мониторить их. Кому-то, возможно, удобно мониторить новые комменты через почту. А кто-то почтой пользуется пару раз в год, и ему проще мониторить их в своем профиле.
Получается, в профиле должна быть страница с подписками на комменты и с инструментом отписки от ненужных подписок.
1.Если модуль flag установлен и работает, значит достаточно добавить в меню комментария ссылку-флаг подписки на коммент. 2.В профиль на спец.странице - вьюс с комментами, на которые пользователь подписан (с сылкой на коммент, кол-вом непрочитанных коментов и ссылка "отписаться")
Не усложняй) Пока будет достаточно подписки на весь пост, т.е. на все новые комментарии из поста
Дополнил пост
@orion76 ознакомься с правилами именования issue, коммитов, PR-ов https://github.com/DrupalRu/drupal.ru/wiki/%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B8-%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D1%8B-%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0-Drupal.ru
Что в итоге выходит.. Извиняюсь, незнаю почему, был уверен что drupal.ru на восмерке, а функционал для дискуссий, который думал применить и на drupal.ru именно для восьмерки-)
Ну раз подписался, чтож, надо делать-)
Если нужна только подписка на коммент и рассылка,(имхо) то модуля тут и не очень нужно, как минимум на функционал отдельного модуля тут не тянет.
Надо добавить ссылку-флаг подписки в "выпадающее" меню комментария, это проще через админку.
И организовать рассылку.. Организовать рассылку могут помочь: Rules Views https://www.drupal.org/project/views_rules
Делаем вьюс, выбирающий всех пользователей, которые подписали на некий комментарий.
По событию добавления комментария (к исходному комментарию, на который есть подписчики) Вызываем правило Rules Делаем цикл по результату выборки вьюса, упомянутого выше, при помощи модуля views_rules И отправляем всем польвателям уведомление об ответе на комментарий.
получается совсем без кастом-модулей..
вариант подходит?
Нужно подписываться не на конкретный комментарий, а на весь пост. По принципу модуля comment_notify.
Коллеги, предлагаю сначала поискать готовый контриб.
Есть https://www.drupal.org/project/comment_notify . Но мне не нравится идея получать много почты (или отправлять много почты со стороны drupal.ru - проще попасть в спам-листы). Идея @orion76 с flag + отдельную страницу имхо удобнее.
comment_notify у нас уже установлен 😉
Это именно его чекбокс
Есть еще node_notify, но он только для семерки.
@adubovskoy у нас и так сейчас отправляется много почты, это не проблема. Проблема в том, что чтобы подписаться на коменты, нужно самому написать комент. Это не очень удобно. Идея же ориона мне не совсем понятна
Идея же ориона мне не совсем понятна
Он хочет делать это же через флаг и + добавить возможность просмотра обновлений на сайте.
Зачем тогда ему меню комментариев? Как минимум нужно меню ноды использовать.
@itcrowd72 Зачем тогда ему меню комментариев?
"меню комментариев" - имеется ввиду раскрывающаяся менюшка в хидере каждого коммента (Спасибо, Цитировать, Ответить, Позвать модератора) куда, как мне кажется, логично поместить ссылку на "Подписку".
@itcrowd72 Нужно подписываться не на конкретный комментарий, а на весь пост
Значит я не совсем правильно понял задачу. Подписка нужна на сам пост форума. Ну вобщем, это практически ничего не меняет. Предложенный мной вариант можно использовать и для подписки на сам пост.
1.Добавляем флаг подписки посту (ноде) 2. Делаем правило Rules событие: добавление комментария действие: выбираем вьюсом по флагу всех подписавшихся на пост юзеров и циклом по списку отправляем уведомления.
В принципе неплохой вариант. Но есть еще над чем подумать. Мы в скором времени планируем переход на Drupal8, а там Rules вообще неюзабельный. Но в целом твой вариант неплохой. Можно будет добавить ссылку в action links поста:
В принципе неплохой вариант. Но есть еще над чем подумать. Мы в скором времени планируем переход на Drupal8, а там Rules вообще неюзабельный.
да все равно, главное ж флаги. написать обрабатывающий это кастом не сложно. Имхо нужно делать.
такс.. осталось только определиться, как все это сделать..-)
1.накликать мышкой минут за 10
2.Оформить в виде модуля:
- добавление флага с необходимыми параметрами к нужному бандлу ноды
- темизировать вывод ноды (перенести ссылку-флаг в "список ссылок" ноды или просто разместить ее под этим списком).
- программно импортировать Views для выборки подписчиков.
- программно импортировать правило Rules.
1.накликать мышкой минут за 10
Никак нет. Пока друпал.ру на семерке, мы оформляем все изменения через hook_update модуля drurum. Полностью всё, что ты расписал:
- добавление флага с необходимыми параметрами к нужному бандлу ноды
- темизировать вывод ноды (перенести ссылку-флаг в "список ссылок" ноды или просто разместить ее под этим списком).
- программно импортировать Views для выборки подписчиков.
- программно импортировать правило Rules.
Посмотри предыдущие апдейты в качестве примера
Ок.. с этим разобрались..
А какова модель работы с репозиторием: Fork+Pull или можно пушить прямо в этот репозиторий?
-
Ты делаешь себе форк, создаешь новую ветку из ветки dev с номером issue, мы делаем так: issue-1203
-
Вносишь необходимые изменения
-
Делаешь коммиты с именем issue #1203: Внедрить подписку на комментарии материала без написания своего комментария
-
Пушишь в свой форк
-
Создаешь PR в этом репо
-
Мы его ревьюим
Хм.. погрузился в задачу и оказалось.. "Механизм" подписки на топик уже есть. Надо только добавить комментарий.
Т.е. надо просто добавить "не опубликованный" комментарий.
значит достаточно к "ссылкам топика" добавить аякс-ссылку, по которой будет создаваться неопубликованный коммент с "подпиской" на комменты топика.
Если я правильно понимаю, реализовывать все это дело надо в drupal.ru/sites/all/modules/custom/dru_comments/dru_comments.module ??
Нет, неправильно) Этот модуль будет деинсталлирован и заменен на контриб.
Если у тебя пару строк кода, то для этого есть модуль drurum
будет создаваться неопубликованный коммент с "подпиской" на комменты топика.
И в итоге у нас будет куча неопубликованных комментариев, которые будут видны редакторам и админам сайта?
Непорядок 😐
в общем, сделал по первому варианту, с флагами.. comment_notify подписывается только на опубликованные комменты, так что его приспособить не получилось..
остался маленький нюансик: автору коммента, если он "подписан" на топик, сообщение отправляем?