Skip to content
This repository has been archived by the owner on Jun 4, 2021. It is now read-only.

Module_Comments

Nikolay Galkin edited this page Jun 7, 2013 · 2 revisions

Требования

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

Администрирование

TODO:

  • Выделять незаапрувленные комментарии на странице управления
  • Добавить кнопки для быстрого апрува
  • Добавить отдельную страницу с незаапрувленными комментариями

Использование

Комментарий может привязываться к любой сущности по уникальной связке поля "alias" и идентификатором самой сущности.

Действия, которые необходимо выполнить для подключения блока комментариев:

  1. Выполнить миграции базы данных этого модуля

  2. Включить в конфигурационном файле помощники вида модуля Comments

    - Comments_View_Helper: APPLICATION_PATH/modules/comments/views/helpers
    
  3. Определить "alias" - для этого необходимо создать новую запись в таблице "comment_aliases". Например, в модуле Blog используется алиас "blog".

  4. Добавить вызов необходимого помощника вида в файл шаблона

<?php 
   /**
    * Отобразить количество комментариев
    * 
    * Для страницы вывода списка записей блога, выведет кол-во комментариев для записи блога с идентификатором $itemId
    * @param $itemId идентификатор записи;
    * @param $alias "blog" (был определен в пункте номер 3);
    * @param $itemsArray массив *всех* записей на текущей странице, в случае с блогом - всех записей в блоге
    * @param $groupKey имя колонки из $itemsArray,
    *                  по которому будет сделана группировка в запросе на получение комментариев;
    */
   echo $this->commentsCounter($itemId, $alias, $itemsArray, $groupKey);

   ...

   /**
    * Отобразить все комментарии для записи
    *
    * Для страницы вывода записи из блога, данный код выведет 
    * @param $alias "blog" (был определен в пункте номер 3);
    * @param $options массив опций:
    *         - key - идентификатор записи;
    *         - template - файл шаблона, который будет использоваться для отображения комментария;
    */
   echo $this->getComments(
        $alias, 
        array(
            'key' => $itemId,
            'template' => $template
        )
   )
?>
Clone this wiki locally