Skip to content
Tickets
Tickets
Компонент для создания и комментирования пользовательских страниц
  1. Компоненты
  2. Tickets
  3. Фронтенд и AJAX

Фронтенд и AJAX

Сниппеты TicketForm, TicketComments, TicketMeta подключают CSS/JS из настроек tickets_frontend_css и tickets_frontend_js.

Endpoint

Запросы уходят в assets/components/tickets/action.php (в JS: TicketsConfig.actionUrl).

Основные action:

actionНазначение
ticket/saveсохранение тикета с фронтенда
ticket/previewпредпросмотр
ticket/delete / ticket/undeleteудаление и восстановление
ticket/voteголос за тикет
ticket/starизбранное тикета
comment/saveновый комментарий
comment/previewпредпросмотр комментария
comment/voteголос за комментарий
comment/starизбранное комментария
comment/getlistподгрузка списка
section/subscribeподписка на секцию
author/subscribeподписка на автора

Параметры сниппета ветки комментариев передаются через TicketThread.properties и сессию TicketForm.

TicketsConfig

Задаётся при инициализации сниппетов. Важные поля:

ПолеИсточник
actionUrlпуть к action.php
enable_editortickets_enable_editor
editor.ticket / editor.commenttickets_editor_config.*
formBeforeTicketComments &formBefore
thread_depthTicketComments &depth
thread_treeTicketComments &tree
sourceзагрузка файлов в комментарии (&allowFiles)

События jQuery (1.14+)

Перед отправкой формы можно отменить или изменить данные:

СобытиеКогда
tickets_before_ticket_previewпредпросмотр тикета
tickets_before_ticket_saveсохранение тикета
tickets_before_comment_previewпредпросмотр комментария
tickets_before_comment_saveотправка комментария
javascript
$(document).on('tickets_before_comment_save', function (e, form, button) {
  // return false — отменить отправку
});

Якоря и непрочитанные

С 1.14.0 счётчик в tpl.Tickets.list.row может вести на #first_unread. При загрузке страницы JS прокручивает к #first_unread или #comments, если hash в URL совпадает.

Плагин Tickets

СобытиеПоведение
OnSiteRefreshсброс кэша default/tickets
OnPageNotFoundредирект по URI секции на тикет (FURL + шаблон URI раздела)
OnLoadWebDocumentучёт просмотров; cookie гостя при tickets_count_guests
OnWebPagePrerenderзамена экранированных [ { в HTML

subscribeAuthor на произвольной странице

Передайте &TicketsInit=1``, чтобы подключить JS Tickets без TicketComments на странице. См. subscribeAuthor.