Skip to content
  1. Компоненты
  2. Tickets
  3. Быстрый старт

Быстрый старт ​

Пакет не ставит готовый шаблон сайта. Минимальная выкладка после установки и прав:

1. Раздел и права ​

  1. Создайте раздел с тикетами в дереве ресурсов.
  2. На секции включите политику TicketSectionPolicy (или дайте группе section_add_children на ресурс).
  3. Пользователям фронтенда назначьте TicketUserPolicy в контексте web.

2. Шаблоны ​

ШаблонНазначениеСниппеты
Секциясписок тикетов разделаgetTickets + pdoPage
Тикетстраница записиTicketMeta, контент, TicketComments
Созданиеформа с фронтендаTicketForm

Стили и скрипты подключают сниппеты при отрисовке: [[++tickets.frontend_css]] и [[++tickets.frontend_js]], см. Фронтенд.

3. Шаблон секции ​

fenom
<h1>{$_modx->resource.pagetitle}</h1>

{'!pdoPage' | snippet : [
  'element' => 'getTickets',
  'parents' => $_modx->resource.id,
  'limit' => 10,
]}
{$_modx->getPlaceholder('page.nav')}
modx
<h1>[[*pagetitle]]</h1>

[[!pdoPage?
  &element=`getTickets`
  &parents=`[[*id]]`
  &limit=`10`
]]

[[!+page.nav]]

Чанк строки по умолчанию: tpl.Tickets.list.row. Список чанков: Чанки.

4. Шаблон тикета ​

fenom
{'!TicketMeta' | snippet}

{$_modx->resource.content}

{'!TicketComments' | snippet}
modx
[[!TicketMeta]]

[[*content]]

[[!TicketComments]]

TicketMeta выводит автора, просмотры, рейтинг и кнопки голоса и избранного. На выводе контент тикета фильтрует Jevix.

5. Страница создания тикета ​

Отдельный ресурс с формой:

fenom
{'!TicketForm' | snippet}
modx
[[!TicketForm]]

Проверьте tickets.default_template и шаблон дочерних тикетов в настройках секции.

6. Проверка ​

  • Системные настройки: почта, редактор, tickets.source_default
  • Тестовый тикет из mgr и с фронтенда
  • Комментарий и письмо (или очередь tickets.mail_queue)

Дальше: FAQ, FormIt, настройки секции.