N1 Nex1on

Теги в шаблоне записи новостей

Какие значения, условия и повторы понимает текстовый шаблон записи, какие у них опции и пределы.

Обновлено 20.10.2026

Правится в разделе Новости → Шаблоны записей (образцы «Блог» и «Карточка фильма»; хранится до 20 версий, у каждой кнопка «Вернуть»). Шаблон — обычный текст с разметкой HTML, в который вставляются теги в фигурных и квадратных скобках. Это отдельно от помощников PHP-шаблонов: язык тегов не содержит PHP, им правит владелец в панели.

Значения

ТегЧто выводитПример
{id}номер записи{id}
{title}название; опция limit=N обрезает{title limit=60}
{url}адрес записи<a href="{url}">
{site}название сайта{site}
{date}дата публикации; опция format= задаёт вид{date format=d.m.Y}
{author}имя автора{author}
{category}название рубрики{category}
{category.url}адрес страницы рубрики<a href="{category.url}">
{excerpt}короткий текст; опция limit=N{excerpt limit=160}
{body}полный текст записи{body}
{cover}обложка; опция size=ШxВ{cover size=600x400}
{views}число просмотров{views}
{comments}число комментариев{comments}
{readtime}минут на чтение{readtime}
{field:ИМЯ}значение своего поля записи; опции limit=, size={field:director}
{fieldlabel:ИМЯ}подпись поля{fieldlabel:director}

Опции тегов и значения по умолчанию

ОпцияГде работаетЕсли не указанаЕсли указана
limit=Ntitle, excerpt, body и текстовые полятекст не обрезаетсячисло от 1 до 5000 (меньше или больше — сводится к границе), обрезка по знакам с «…»; у body выводится простой текст без разметки; нечисловое значение игнорируется
format=…dated.m.Yразрешены только знаки d D j m M n Y y H i s a A g G h F, пробел, ., /, :, -, не больше 20; иначе тоже d.m.Y
size=ШxВcover и поле-картинкакартинка без width и heightнапример 300x450, каждая сторона до 4000; иначе опция игнорируется

Правильная запись: {cover size=400x300}, {date format=d.m.Y}, {excerpt limit=160}.

Внутри повтора ([each:…]): {item} — текущий элемент, {item.url} — его адрес (для меток и файлов), {item.alt} — подпись картинки (для галереи), {index} — номер по порядку с единицы.

Теги страницы записи

Соседние и связанные записи, печать, страницы текста, картинки по номеру, карточка автора, опрос и жалоба. Все значения проходят белый список: текст экранируется, адреса — только путь от корня или https://.

ТегЧто выводит
{previous.title} {previous.url} {previous.date} {previous.excerpt} {previous.cover_url}предыдущая запись (старше); если её нет — пусто. То же для {next.…} — следующая
{item} {item.url} {item.excerpt} {item.date} {item.cover} внутри связанных записейсвязанные записи (те, что указаны в записи)
{print_button}кнопка «Печать» (работает без скриптов темы)
{pages} {page.current} {page.total} {page.prev_url} {page.next_url}запись, разбитая метками [page]: список страниц, номер, число, ссылки; у записи без разбивки пусто
{image:1.url} … {image:20.url}, {images.count}картинки текста записи по порядку; нет такой — пусто
{author.avatar_url} {author.bio}аватар и «О себе» автора — только если профиль автора открыт
{author.role} {author.role_name}старшая роль автора: подпись и машинное имя; в условии подходит любое из двух, можно несколько через запятую
{author.posts} {author.rss_url}сколько записей у автора на сайте; лента автора
{poll}опрос записи (если он выбран)
{poll.question} {poll.status} {poll.votes_text} {poll.url} {poll.close_date} {poll.start_date}опрос по частям: вопрос, «идёт/закрыт», сколько ответили; итоги появляются по настройке опроса («всегда», «после ответа», «после закрытия») — до этого счётчики пусты
{item.id} {item.votes} {item.percent} {item.bar} {item.votes_text} {item.input} внутри вариантов опросаварианты опроса: название, число голосов и доля (после показа итогов), готовое поле голоса
{poll_form_open} {poll_submit} {poll_form_close} {poll_note}форма голоса по кускам (с ключом защиты) и пояснение, почему голосовать нельзя; пока голосовать нельзя — пусто
{report}«Пожаловаться на запись» — раскрывающаяся форма (нужны комментарии и включённые жалобы)
{comments.subscriptions_url}страница «Мои подписки» (вошедшему)
{comments_follow}кнопка «Следить за комментариями» (вошедшему — одним нажатием, гостю — по почте с подтверждением)
{archive_day.url}архив новостей за день выхода записи

Примеры: [if:next.url]<a href="{next.url}">{next.title} →</a>[/if], [each:related]<li><a href="{item.url}">{item}</a></li>[/each], [if:page.total]{pages}[/if], [if:author.role=editor,admin]Редакция[/if].

Условия и повторы

ЗаписьЧто делает
[if:имя]…[/if]выводит кусок, если значение есть (непустое)
[ifnot:имя]…[/ifnot]выводит, если значения нет
[if:имя=значение]…[else]…[/if]сравнивает со значением, иначе — вторая ветка
[each:tags]…[/each]повторяет по меткам записи
[each:field:ИМЯ]…[/each]повторяет по полю со многими значениями: множественный выбор, галерея

Для условий доступны имена: title, excerpt, body, cover, author, category, views, comments, tags, field:ИМЯ.

Сравнения: больше, меньше, не равно

К условию можно добавить оператор: [if:year>2000], [if:price<=100], [if:genre!=драма], [ifnot:year>=2030]. Операторы: =, !=, >, <, >=, <=. Если обе части — числа (запятая как точка), сравниваются числа, иначе — текст без учёта регистра. Пустое или отсутствующее значение сравнения «больше/меньше» не проходит.

Параметры списков: key=value

Список можно настроить параметрами через пробел — после имени, до закрывающей скобки:

Код
[each:news_list category=films,serials limit=5 sort=views field:year>2000]
  <a href="{item.url}">{item.title}</a>
[/each]

Привычная запись news_list:cat:3:limit:5 работает как раньше и означает то же самое — выбирайте любую.

ПараметрЗначение
category (cat)рубрики: номер или имя, список 3,5, диапазон 3-7, исключение !news (из диапазона вычитается: 3-7,!5)
not_categoryрубрики, которые нужно исключить
limit / startсколько записей (1–100) / с какой начать
sortпорядок: new, old, title, views, rating, rand
daysза сколько последних дней
author (user), tagавтор и метка по номеру
field:ИМЯпо дополнительному полю: field:year>2000, field:genre!=драма, field:director=Кубрик
home, fixed, cover, poll, password, comments, featuredфлаги; можно yes/no, да/нет, 1/0
lang, cacheязык и сколько секунд хранить результат (до часа, только гостю)

Неизвестный параметр редактор шаблонов подсвечивает предупреждением со строкой; в тег помещается до восьми параметров. Значение с пробелами пишется в кавычках: title="две части". Какие из параметров поддерживает именно ваш список — смотрите во вставке этого списка.

Безопасность и пределы

ПравилоЗначение
PHP, вызовы функций, чтение файлов и настроекнет — язык умеет только подставить значение, проверить «есть ли» и пройти по списку
HTML шаблонаочищается по белому списку: без script, style, form, iframe, без атрибутов on* и data-*
Адреса в href/srcтолько http(s)://, путь от корня /… и #…
Размер шаблонане больше 20000 знаков
Число теговне больше 400
Вложенность условий и повторовне больше 6 уровней
Повторов в спискене больше 200
Размер результатане больше 300000 знаков

Значения экранируются по месту: в тексте, в атрибуте и в адресе по-разному, поэтому название записи с кавычкой или тегом не ломает вёрстку.

Помогла ли эта статья?
На этой странице