N1 Nex1on

Вигляди на тегах: які сторінки замінити файлом теми

Будь-яку сторінку сайту можна замінити файлом тегів без PHP: які файли розуміє тема, як створити свій 404 і що доступно у виглядах ядра.

Оновлено 20.10.2026

Будь-який вигляд сайту (головну, вхід, реєстрацію, пошук, кабінет, сторінку) можна замінити файлом тегів. Це звичайна HTML-розмітка, у яку вставляються теги {ім’я}, умови [if:ім’я]…[/if] і повтори [each:список]…[/each] (спільна мова тегів, та сама, що в «Новини → Шаблони записів»). Це безпечний аналог файлів шаблонів в інших рушіях: у файлі тегів не можна написати PHP. Рамку сторінки (шапку, меню, колонку, підвал) описує стаття «Головний шаблон сайту на тегах», спільні теги будь-якої сторінки — там само.

Як увімкнути

У вашій темі покладіть файл за шляхом вигляду із закінченням .tpl.html замість .php:

Що замінюєтеФайл у темі
головна розмітка (шапка, місця, вміст, підвал)themes/НАЗВА/views/layouts/main.tpl.html
сторінка сайтуthemes/НАЗВА/views/pages/show.tpl.html
вхідthemes/НАЗВА/views/auth/login.tpl.html
реєстрація, відновлення пароля, скидання, другий чинник, підтвердження пошти, правилаauth/register.tpl.html, auth/forgot.tpl.html, auth/reset.tpl.html, auth/two-factor.tpl.html, auth/verify.tpl.html, auth/rules.tpl.html
пошукsearch.tpl.html
кабінет, безпека, сеанси, приватністьauth/profile.tpl.html, auth/profile-security.tpl.html, auth/profile-sessions.tpl.html, auth/profile-privacy.tpl.html
публічний профільauth/public-profile.tpl.html

Свій 404 і будь-яка сторінка файлом теми

Покладіть themes/ТЕМА/views/errors/404.tpl.html (або створіть його командою theme:file, див. нижче), впишіть розмітку з тегами {status}, {message}, {search}, {home} — і сторінка 404 стане вашою. Так само замінюється будь-який файл зі списку: підвал partials/footer.tpl.html, бічна колонка partials/sidebar.tpl.html, повна новина news/show.tpl.html.

Які файли можна замінити і як їх створити

Повний список файлів, які тема може замінити власними (зараз 58: каркас, шапка, підвал, бічна колонка, картка, новини, коментарі, повідомлення, форум, магазин, події, галерея, опитування, пошук, вхід, кабінет, сторінки помилок), покаже команда:

Код
php nex1on theme:files my-site

«есть» (є) — файл уже лежить у вашій темі, «—» — сторінку малює рушій. Щоб почати з готового, створіть файл із заготовки (ім’я можна писати як errors/404, errors-404, news::show або повним шляхом):

Код
php nex1on theme:file my-site errors/404

Файл з’явиться в themes/my-site/views/errors/404.tpl.html із тегами за замовчуванням: правте його в будь-якому редакторі, сторінка підхопить зміни одразу, без адмінки. Наявний файл команда не затирає (--force — перезаписати).

Немає файлу тегів або він зламаний (наприклад, не закрито блок) — працює звичайний вигляд, сторінка не ламається. Файл тегів у спільній теці теми головніший за вигляд модуля, як і PHP-файл.

Дані вигляду: умови й повтори

Крім спільних тегів у файлі доступні дані, які вигляд отримав від рушія: {ім’я}, {a.b}, [each:список] із {item}, {item.ключ}, {index}, умови [if:ім’я], [if:ім’я=значення], [ifnot:ім’я], опція limit=N. Секретне (ключі захисту форм, паролі, токени, сеанси) та об’єкти через теги не віддаються.

Вигляди ядра на тегах

ВиглядЩо доступно (крім спільних тегів)
auth/login{form} — готова форма входу; слова {t.eyebrow}, {t.title}, {t.lead}, {t.forgot}, {t.no_account}, {t.submit} та інші; {forgot_url}, {register_url}; умова [if:can_register]
auth/register{form}, слова {t.…} (префікс auth.register), {forgot_url}
auth/forgot, auth/reset, auth/two-factor, auth/verify, auth/rulesу кожного {form} і слова {t.…} (префікси auth.forgot, auth.reset, auth.2fa, auth.verify, auth.rules)
search{form} (рядок пошуку), {query}, [each:results] ({item.title}, {item.url}, {item.excerpt}…), [each:popular], {found.*}, [if:tooShort], {minimum}, слова {t.…} (search.*)
auth/profile, auth/profile-security, auth/profile-sessions, auth/profile-privacy{form} (і {form:2}, {form:3} — решта форм вигляду за порядком), {identity} (шапка кабінету), {profile_nav} (меню кабінету), слова {t.…} (profile.*)
auth/public-profile{identity} і дані профілю
pages/show{title}, {page.title}, {page.excerpt}, {page.body} (текст сторінки, розмітка рушія), {cover}, [each:trail], [each:children], [each:siblings]
Чи допомогла ця стаття?
На цій сторінці