Модуль «Форум»
Добавляет возможность создавать темы и комменитировать их.
При установке модуль добавляет тип материалов «forum_topics», в котором хранятся темы, и тип материалов «forum_posts», в котором хранятся комментарии форума.
Для работы с темами форума используется класс \Forum\Topic, расширяющий \Cetera\Material. Для работы с комментариями форума используется класс \Forum\Post, расширяющий \Cetera\Material.
Класс \Forum\Topic
| Метод | Описание |
|---|---|
| getPosts() | Возвращает итератор \Cetera\Iterator\Material с комментариями к теме |
| getPostsCount() | Возвращает кол-во комментариев, синоним getPosts()→getCountAll() |
| addPost($text,$publish=true,$user=null,$nickname) | Добавляет комментарий к теме. $text — текст комментария, $publish — флаг публикации комментария, $user — автор, комментария (если не указан, то используется \Cetera\Application::getUser())), $nickname — псевдоним автора (для неавторизованных пользователей) |
Класс \Forum\Post
| Метод | Описание |
|---|---|
| getNickname() | Возвращает имя пользователя оставившего комментарий |
Виджет Forum.Category
В модуле «Форум» это виджет позволяет организовать просмотр тем раздела форума. Для отображения тем используется виджет «Forum.Topic.Item», для отображения списка тем— виджет «Forum.Topic.List»
Пример вызова в PHP
\Cetera\Application::getInstance()->getWidget('Forum.Category', array(
))->display();
Пример вызова в Twig
{% widget 'Forum.Category' with { } %}
Описание параметров
| Параметр | Описание |
|---|---|
| template | Шаблон вывода |
| catalog | Раздел форума. По умолчанию — текущий раздел |
| material_template | Шаблон виджета ‘Forum.Topic.Item’ для отображения темы |
| material_id | ID темы. По умолчанию null |
| material_alias | alias материала. По умолчанию используется Application::getUnparsedUrl() |
| list_template | Шаблон виджета ‘Forum.Topic.List’ для отображения списка тем |
| list_limit | Ограничение кол-ва тем. 0 — без ограничения. По умолчанию 10 |
| list_page | № страницы, если используется ограничение кол-ва тем. По умолчанию 1 |
| list_order | Поле, по которому сортировать список. По умолчанию dat_update |
| list_sort | [ASC|DESC] Порядок сортировки. По умолчанию DESC |
| list_where | Фильтр списка тем. В SQL запрос добавляется условие указанное условие WHERE |
| list_paginator | [TRUE|FALSE] Показать постраничную навигацию. По умолчанию TRUE |
| posts_limit | Ограничение кол-ва комментариев. 0 — без ограничения. По умолчанию 0 |
| paginator_template | Шаблон виджета постраничной навигации |
| page404_template | Шаблон с текстом в случае, если материал не найден |
Виджет Forum.Topic.Add
В модуле «Форум» это виджет формы для добавления темы.
| Параметр | Описание |
|---|---|
| template | Шаблон вывода |
| catalog | Раздел, в котором находится тема |
| publish | [TRUE|FALSE] Сразу публиковать отправленный комментарий. По умолчанию TRUE |
| submit_text | Текст на кнопке отправки комментария. По умолчанию «Отправить сообщение» |
| success_text | Сообщение об успешной отправке комментария. По умолчанию «Ваш комментарий принят» |
Виджет Forum.Topic.List
В модуле «Форум» это виджет выводит список тем для текущего раздела
| Параметр | Описание |
|---|---|
| template | Шаблон вывода |
| catalog | Раздел, в котором находится тема |
| iterator | Объект \Cetera\Iterator\Material по списком тем |
| order | Поле сортировки комментариев. По умолчанию dat_update |
| sort | [ASC|DESC] Порядок сортировки комментариев. По умолчанию DESC |
| limit | Количество комментариев на странице. 0 — показать все. По умолчанию 0 |
| where | Фильтр материалов. В SQL запрос добавляется условие указанное условие WHERE |
| page | Показать страницу, при установленном параметре limit, По умолчанию — из $_REQUEST[page_param] |
| page_param | Имя параметра, в котором передавать № страницы. По умолчанию page |
| paginator | [TRUE|FALSE] Показать постраничную навигацию. По умолчанию FALSE |
| paginator_url | Формат ссылок на страницы. {material} — заменяется на url материала, {page} — на № страницы. По умолчанию {material}?page={page} |
| paginator_template | Шаблон пагинатора |
| form | [TRUE|FALSE] Показать форму добавления комментария TRUE |
| form_template | Шаблон формы |
| form_title | Заголовок формы. По умолчанию Добавить комментарий |
| form_publish | [TRUE|FALSE] Сразу публиковать отправленный комментарий. По умолчанию TRUE |
| form_submit_text | Текст на кнопке отправки комментария. По умолчанию «Отправить сообщение» |
| form_success_text | Сообщение об успешной отправке комментария. По умолчанию «Ваш комментарий принят» |
Виджет Forum.Topic.Item
В модуле «Форум» это виджет выводит тему и комментарии к ней.
| Параметр | Описание |
|---|---|
| template | Шаблон вывода |
| posts_limit | Количество комментариев на странице. 0 — показать все. По умолчанию 0 |
Виджет Forum.Post.Add
В модуле «Форум» это виджет формы для комментирования темы.
| Параметр | Описание |
|---|---|
| template | Шаблон вывода |
| material | Тема форума. Объект класса \Forum\Topic наследник класса \Cetera\Material |
| material_type | Тип материала темы |
| material_id | ID темы |
| catalog | Раздел, в котором находится тема |
| material_alias | Алиас темы |
| publish | [TRUE|FALSE] Сразу публиковать отправленный комментарий. По умолчанию TRUE |
| ajax | [TRUE|FALSE] Отправка комментария без перезагрузки страницы. По умолчанию FALSE |
| submit_text | Текст на кнопке отправки комментария. По умолчанию «Отправить сообщение» |
| success_text | Сообщение об успешной отправке комментария. По умолчанию «Ваш комментарий принят» |
Для того, чтобы выбрать тему, к которой будут отправляться комментарии, используйте параметры:
- material — явная передача объекта темы
- material_type и material_id — поиск темы по типу и ID или
- catalog и material_alias — поиск темы по разделу и алиасу
Виджет Forum.Post.List
В модуле «Форум» это виджет списка комментариев к теме.
| Параметр | Описание |
|---|---|
| template | Шаблон вывода |
| material | Тема форума. Объект класса \Forum\Topic наследник класса \Cetera\Material |
| material_type | Тип материала темы |
| material_id | ID материала темы |
| catalog | Раздел, в котором находится тема |
| material_alias | Алиас темы |
| order | Поле сортировки комментариев. По умолчанию dat |
| sort | [ASC|DESC] Порядок сортировки комментариев. По умолчанию ASC |
| limit | Количество комментариев на странице. 0 — показать все. По умолчанию 0 |
| page | Показать страницу, при установленном параметре limit, По умолчанию — из $_REQUEST[page_param] |
| page_param | Имя параметра, в котором передавать № страницы. По умолчанию page |
| paginator | [TRUE|FALSE] Показать постраничную навигацию. По умолчанию FALSE |
| paginator_url | Формат ссылок на страницы. {material} — заменяется на url материала, {page} — на № страницы. По умолчанию {material}?page={page} |
| paginator_template | Шаблон пагинатора |
| form | [TRUE|FALSE] Показать форму добавления комментария TRUE |
| form_template | Шаблон формы |
| form_title | Заголовок формы. По умолчанию Добавить комментарий |
| form_publish | [TRUE|FALSE] Сразу публиковать отправленный комментарий. По умолчанию TRUE |
| form_submit_text | Текст на кнопке отправки комментария. По умолчанию «Отправить сообщение» |
| form_success_text | Сообщение об успешной отправке комментария. По умолчанию «Ваш комментарий принят» |