Sander80: Блог

Главные вкладки

Кнопка "новые сообщения" на drupal-форуме

2 августа 2010 в 10:08

Начал я делать форум на Друпале. Если точнее, контент на Друпале у меня уже имелся, но основывался на типе "заметка" - это были вопросы пользователей, на которые я отвечал. Соответственно, вся информация была неструктурирована. Захотелось из этого сделать форум.

В процессе запуска форума возникла такая проблема - очень хочется сделать кнопку "новые сообщения" или там "обновленные темы" - ну как на не-Drupal форумах. Так крутился, этак, никак не получается. Вроде и view создал с фильтром has new content, а все равно никак.

Короче, как выяснилось, в текущей версии advanced_forum есть баг. Сабмиттить я его не буду - он уже исправлен в alpha-релизе (правда, тот у меня не пошел, превратив главную в кучу ошибок).

Поэтому предлагаю решение, работающее с текущей версией advanced_forum. Результат можно посмотреть по адресу http://help.sander.su/

- Начинаем с исправления бага в версии advanced_forum 6.x-1.1. При отметке всех сообщений прочитанными он правит дату посещения пользователя у тех нод, у которых либо дата последнего комментария больше, либо дата создания. Но дело в том, что это не совсем верный подход — нода могла быть изменена, дата создания может быть меньше, а дата изменения — больше. Поэтому берем файл modules/advanced_forum/advanced_forum.module и правим в двух местах WHERE (n.created > %d на WHERE (n.changed > %d