Блог

Модуль "Форум" : версия 0.7.0.1

Все наверное хотя бы один раз сталкивались с интеграцией сайта на Yii с каким нить форумом. И наверное у вас было много проблем с этим.

Я представляю себе два варианта интеграции, в которых так или иначе сайт и форум это два разных "сайта" у каждого свой дизайн, свои формы авторизации, регистрации и т.д. и свои профили пользователя. И так список вариантов:

  1. сайт - как надстройка над форумом. То есть форум, берет его таблицу пользователей и на основе ее генерирует модель Yii, с которой в дальнейшем работаем.
  2. создание связи между сайтом и форумом. В данном варианте у нас есть две таблицы пользователей на сайте и на форуме и приходиться организовать связь этих таблиц. То есть при любом действии пользователя нужно сохранять целостность двух таблиц. При авторизации на сайте нужно реализовывать авторизацию пользователя на форуме и т.д.

Когда то давно я решил выбрать второй вариант. Попробовал интегрировать сайт на Yupe c форумом на phpbb. Подробности рассказывать не буду, в итоге я убил много времени на это дело и все равно ничего не работало.

После первой и последней попытки интеграции я решил что лучше написать собственный модуль форума для Yupe. И вот наконец то написал первую версию, конечно жаль что для версии 0.7, но главное начало положено. Текущая версия модуля 0.7.0.1, эта версия проверена на Yupe 0.7, только с одним исключение: тема default для frontend не реализована. На данным момент в папке themes просто представлен вариант вывода и он не совместим с темой default.


Что реализовано

В модуле реализованы следующие сущности: форум, тема, сообщение. Основная сущность это форум, в форум можно добавлять темы, а в темах писать сообщения.

На backend'е все эти сущности можно просмотреть, отредактировать, удалить и добавить.

На frontend'е выводиться список форумов с темами и вложенными форумами. Список тем отсортирован по дате последнего сообщения. У каждой темы указано количество сообщений и последнее сообщение. У каждого форума указано количество тем и сообщений, и так же последнее сообщение. При просмотре теме выводиться список сообщений в нем и форма добавления сообщения (сообщение могут оставить ТОЛЬКО авторизованные пользователи). Так же при просмотре форума и темы выводятся "хлебные крошки" по которым можно вернуться назад и отследить вложенность.


Планы на будущее

В будущем версия 0.7.0.1 поддерживаться и обновляться не будет. На основе первой версии будет реализована версия для Yupe 0.9 уже с полноценной поддержкой темы default.

В trello накидал небольшой список того что хотелось бы еще реализовать:

  • непрочитанные сообщения
  • подсветка кода в сообщениях
  • возможность помечать как важные темы и форумы, чтобы следить за каждым сообщением в них.

Так же тут: http://yupe.ru/talk/viewtopic.php?id=533 собирались пожелания по форуму.


Вместо итога

Первую версию модуля можно забрать тут: https://github.com/yupe/yupe-ext/tree/master/modules/forum/0.7.0.1.

Замечания по коду и функционалу не принимаются. Принимаются ТОЛЬКО пулл реквесты. Если у Вас есть предложения по функционалу то можете писать их в теме на форуме (см. ссылку выше) или оставлять комментарии ниже.

Если кто то захочет отблагодарить или оставить отзыв то вот контакт для связи: apexwire@amylabs.ru

Надеюсь в будущем форум на Yupe переедет на данный модуль =)))))