Личные сообщения, обратная связь и «Предложить запись» на тегах
Какие файлы темы заменяют страницы переписки, формы обратной связи и предложения записи, и какие теги в них работают.
«Личные сообщения» (модуль «Сообщения»)
Файлы темы: views/messages/index.tpl.html (список бесед) и views/messages/thread.tpl.html (переписка). Нет файла — страница как раньше. Заготовки лежат в modules/messages/starters. Формы (кому, поиск, ответ, правка, жалоба, массовые действия) пишет движок: ключ защиты и поля потерять нельзя, тема только расставляет готовые куски.
Список бесед
| Тег | Что это |
|---|---|
{total} {unread_total} {mode} {query} {to_query} {messages_url} | сколько бесед и непрочитанных; вкладка (all / unread); строка поиска; адрес списка |
[if:closed] | личный приём закрыт самим человеком |
[if:mailbox] {mailbox_used} {mailbox_limit} [if:mailbox_full] [if:mailbox_near] {mailbox} | предел «хранить писем» у роли: занято, предел, «полон», «почти полон»; {mailbox} — готовый индикатор «Заполнено N из M» со шкалой (у роли без предела пусто) |
{to_form} {tabs} {search_form} {receiving_form} | готовые формы и вкладки движка |
{bulk_open} … {bulk_close} | массовые действия над отмеченными беседами (флажок — {item.pick}) |
[each:threads] | беседы: {item.name} {item.username} {item.url} {item.user_url} {item.avatar} {item.initials} {item.hue} {item.unread} {item.unread_label} {item.subject} {item.excerpt} {item.mine} {item.when} {item.pick} |
[if:nothing] {nothing_text} | бесед нет и почему |
Переписка
| Тег | Что это |
|---|---|
{name} {username} {profile_url} {back_url} {avatar} {initials} {hue} | собеседник |
{role} {role_key} {role_color} {role_badge} | роль собеседника: название, машинное имя (для условий), цвет, готовая плашка |
[if:online] | собеседник «на сайте»: у него было действие за последние пять минут, и он сам разрешил показывать активность |
{registered} | дата прихода на сайт — только если человек разрешил «Показывать дату регистрации» |
[if:can_reply] {denied} {reply_form} {tools} | можно ли писать (иначе — причина словом); форма ответа; инструменты беседы |
[each:letters] | письма: {item.id} {item.body} (текст, цитаты блоками) {item.files} (вложения) {item.subject} {item.when} {item.edited} {item.edited_when} {item.read} {item.read_when} {item.mine} (своё письмо) {item.quote} (кнопка «Цитировать») {item.own} (править и удалить своё непрочитанное) {item.report} (пожаловаться на чужое) |
Письма только свои: беседы отбирает движок по вошедшему человеку, текст экранируется.
«Обратная связь» (модуль «Обратная связь»)
Файл темы: views/feedback/form.tpl.html (заготовка — modules/feedback/starters/form.tpl.html). Нет файла — страница как раньше. Форму пишет движок (ключ защиты, поле-ловушка от роботов, проверка): целиком — {form}, либо по частям.
| Тег | Что это |
|---|---|
{form_open} … {form_close} {submit} | открытие и закрытие формы (с ключом защиты и скрытыми полями) и кнопка |
{field:name} {field:email} {field:subject} {field:message} | основные поля; имя, почта и текст обязательны — без них форма не пройдёт проверку |
{field:phone} | телефон: появляется, если в «Настройки → Обратная связь» поле «Телефон в форме» включено («по желанию» или «обязательно»); выключено — поля в форме нет |
{intro} [if:intro] | своё вступление владельца |
{agreement} [if:agreement] | согласие на обработку данных |
[if:user.logged] … [else] … [/if] | вошёл ли человек (имя и почта подставлены); [else] — для гостя |
{t.title} {t.lead} {t.submit} | слова страницы на языке посетителя |
Защита от роботов (ловушка-поле, пауза, частота) — часть формы движка: она придёт вместе с {form_open}, отдельным тегом её ставить не нужно.
«Предложить запись» (модуль «Новости»)
Файлы темы: views/news/suggest.tpl.html (форма для вошедшего) и views/news/suggest-login.tpl.html (гостю: пояснение и кнопки входа). Нет файла — страница как раньше.
Форма пишется движком (ключ защиты, ловушка от роботов, проверка): целиком — {form}, либо по частям {form_open} … {form_close}:
| Тег | Что это |
|---|---|
{field:title} {field:excerpt} {field:category} {field:tags} {field:body} | основные поля; поле, которого нет в шаблоне, в форме не окажется (заголовок и текст обязательны — без них форма не пройдёт) |
{field:f_имя} | своё дополнительное поле: только то, которое владелец отметил в «Доп. поля» галочками «в форме сайта» и «заполняет посетитель»; привязанное к рубрике показывается, когда выбрана она; картинки, файлы и видео посетителю не даются |
{submit} | кнопка отправки |
{t.title} {t.lead} {t.note} {t.send} {t.mine} {t.too_many} | слова страницы на языке посетителя |
{left}, [if:can_send] | сколько предложений осталось за сутки; можно ли ещё отправлять |
{mine_url} | адрес «Мои предложения» |
[each:categories] | рубрики для выбора: {item.id} {item.title} |
Страница для гостя: {login_url}, {register_url}, [if:can_register], слова {t.guest_title} {t.guest_text} {t.guest_login} {t.guest_register}.