Теги в шаблоні запису новин
Де правити: Новини → Шаблони записів (зразки «Блог» і «Картка фільму»; зберігається до 20 версій, у кожної є кнопка «Повернути»). Шаблон — звичайний текст із розміткою HTML, у який вставляються теги у фігурних і квадратних дужках.
Значення ({…})
| Тег | Що виводить | Приклад |
|---|---|---|
{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=N | title, excerpt, body і текстові поля | текст не обрізається | число від 1 до 5000 (менше чи більше зводиться до межі), обрізання за знаками з «…»; у body виводиться простий текст без розмітки; нечислове значення ігнорується |
format=… | date | d.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.…} — наступний | [if:next.url]<a href="{next.url}">{next.title} →</a>[/if] |
[each:related] … {item} {item.url} {item.excerpt} {item.date} {item.cover} | повʼязані записи (ті, що вказані в записі) | [each:related]<li><a href="{item.url}">{item}</a></li>[/each] |
{print_button} | кнопку «Друк» (працює без скриптів теми) | {print_button} |
{pages} {page.current} {page.total} {page.prev_url} {page.next_url} | запис, розбитий мітками [page]: список сторінок, номер, кількість, посилання; у запису без розбиття порожньо | [if:page.total]{pages}[/if] |
{image:1.url} … {image:20.url}, [if:image:N], {images.count} | зображення тексту запису за порядком; якщо такого немає — порожньо | <img src="{image:1.url}" alt=""> |
{author.avatar_url} {author.bio} | аватар і «Про себе» автора — лише якщо профіль автора відкритий | [if:author.bio]<p>{author.bio}</p>[/if] |
{author.role} {author.role_name}, [if:author.role=editor] | старша роль автора: підпис і машинне імʼя; в умові підходить будь-яке з двох, можна кілька через кому | [if:author.role=editor,admin]Редакція[/if] |
{author.posts} {author.rss_url} | скільки записів в автора на сайті; стрічка автора | {author.posts} |
{poll} | опитування запису (якщо його вибрано) | {poll} |
{report} | «Поскаржитися на запис» — форма, що розкривається (потрібні коментарі та ввімкнені скарги) | {report} |
{comments.subscriptions_url} | сторінку «Мої підписки» (тому, хто увійшов) | <a href="{comments.subscriptions_url}">Підписки</a> |
{archive_day.url} | архів новин за день виходу запису | <a href="{archive_day.url}">Ще за цей день</a> |
Рубрику й ланцюжок розділів запису та стрічки бачить головна рамка на тегах: {category.*}, [each:crumbs] (новини › батьківська рубрика › рубрика › запис).
Умови й повтори
| Запис | Що робить |
|---|---|
[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 знаків |
Значення екрануються на місці: у тексті, в атрибуті й в адресі по-різному, тому назва запису з лапкою чи тегом не ламає верстку.
Оновлено 16.10.2026
Поки ніхто не висловився. Будьте першим.