Модуль «Форум»

Добавляет возможность создавать темы и комменитировать их.

При установке модуль добавляет тип материалов «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 Сообщение об успешной отправке комментария. По умолчанию «Ваш комментарий принят»