N1 Nex1on

Редактор тем: змінюйте вигляд сайту просто в панелі

Як завести власну тему, змінити в ній шаблони та стилі просто в панелі й нічого не зламати.

Редактор тем потрібен, коли готової теми замало: хочеться іншу шапку, власну сторінку пошуку, інший колір кнопок, окремий вигляд для однієї рубрики. Правити файли готових тем не можна — їх замінить оновлення рушія. Тому правка йде у власній темі: це готова тема плюс лише ті файли, які ви змінили. Усе інше береться з готової теми, і її оновлення до вас доходять.

Хто і коли може правити

  • Лише власник сайту. Розділ «Зовнішній вигляд → Редактор тем» видно тільки йому; адміністратор із будь-якими правами його не побачить і відкрити не зможе. Видати таке право не можна: його немає в таблиці прав.
  • Редактор вимкнено за замовчуванням. Власник вмикає його на сторінці розділу, вводячи пароль. Поки він вимкнений, файли тем із панелі не змінюються взагалі.
  • Пароль. Запис файлу просить пароль, якщо ви не підтверджували його останні 5 хвилин. Видалення файлу, повернення до версії, перейменування, видалення теми та вмикання редактора просять пароль щоразу, навіть якщо ви щойно його вводили.
  • Добір. Після п’яти неправильних паролів за 15 хвилин редактор перестає перевіряти пароль узагалі — навіть правильний — до кінця вікна.
  • У журналі дій залишається, хто, коли і який файл змінював (шлях, розмір, короткий відбиток), але не текст файлу.

Що можна правити

Лише те, що не виконується:

ФайлДля чого
*.tpl.htmlшаблони на тегах: шапка, підвал, вигляд сторінки, пошук, вхід, кабінет…
*.cssстилі
*.svgзначки та малюнки (небезпечні частини автоматично прибираються, редактор називає, що прибрав)
*.txtтекстові нотатки
png, jpg, webp, gifкартинки (завантажуються заново й перекодовуються, анімація GIF втрачається — про це повідомляється)

Не можна ніколи: PHP, скрипти (.js), theme.json, .htaccess і все інше виконуване або невідоме. Скрипти на сайт підключаються через налаштування та модулі, а не через тему. В імені файлу — малі латинські літери, цифри, крапка, дефіс і підкреслення; тек не глибше шести рівнів.

У стилях заборонені @import, адреси інших серверів і вирази (expression, behavior), у шаблонах — програмний код. Чужі картинки в шаблонах дозволені, але редактор попередить: адреса відвідувача піде стороннім сервером.

Як почати

  1. Зовнішній вигляд → Редактор тем. Якщо редактор вимкнено — увімкніть (знадобиться пароль).
  2. Створити власну тему. Придумайте коротку назву (вона завжди починається з my-), назву теми й виберіть готову тему-основу. Нова тема поки що нічим не відрізняється від основи й не вмикається сама.
  3. Відкрийте тему, виберіть файл ліворуч. Файли основи відкриваються лише для читання; кнопка «Змінити цей файл» копіює його у вашу тему, і копію можна правити. У списку ліворуч «Ваші файли» — усе, що ви змінили.
  4. Внесіть правку й натисніть «Зберегти». Перед записом шаблон перевіряється (див. нижче).
  5. Коли тема готова, увімкніть її в Зовнішній вигляд → Теми так само, як будь-яку іншу. Видалити можна лише тему, яка зараз не ввімкнена; видалена тема йде в теку історії й за потреби повертається вручну.

Перевірка шаблону

Перед записом файлу тегів редактор знаходить помилки й називає рядок:

  • не закрито або закрито зайвий [if], [ifnot], [each], блоки переплутано;
  • [else] поза умовою або всередині списку;
  • тег з іменем із забороненого списку (ключі захисту, паролі, пошта, коди, пристрої) — такі дані шаблонам не передаються;
  • задовгий шаблон, забагато тегів, надто глибока вкладеність;
  • програмний код.

Помилка не дає зберегти файл. Попередження (невідомий тег — він нічого не виведе; те, що очищення прибере під час показу: скрипти, on…=, javascript:; картинка з чужого сервера) зберегти не заважають.

Теги: що вставити і як

Праворуч від поля — каталог тегів із пошуком: натисніть на тег, і він стане на місце курсора. У кожного сказано, що він виводить. У каталозі теги ядра (назва сайту, користувач, сторінка, відвідувач, форми, меню, навігаційний ланцюжок…) і елементи модулів, які можна вставити, — списки записів, коментарі, банери тощо. Повний перелік по кожному виду сторінки — у довіднику «Вигляди на тегах».

Кілька прийомів:

  • Умови та списки: [if:user.logged]…[else]…[/if], [each:menu]…{item.title}…[/each].
  • Дата у своєму форматі: {date=d.m.Y H:i}; дата правки: {edit-date=d.m.Y}.
  • Обрізання будь-якого тексту: {title limit=60 wordsafe=1} (за знаками, не розривати слово) або {title words=10} (за словами); обрізане закінчується на «…».
  • Відвідувач: [if:visitor.mobile], [if:visitor.ios], [if:visitor.tv], {visitor.os}, [if:visitor.lang=ru], [if:visitor.country=UA].
  • Роль користувача, що увійшов: [if:user.role=editor] — за машинною назвою ролі, вона не залежить від мови сайту; кілька — через кому.

Шаблон під рубрику

Хочете, щоб одна рубрика виглядала інакше? Створіть поруч зі звичайним файлом другий, вставивши ключ рубрики між назвою вигляду та .tpl.html:

  • views/news/show.tpl.html — запис новини для всіх рубрик;
  • views/news/show.tehnika.tpl.html — запис новини в рубриці з ключем tehnika.

Те саме з головною розміткою: views/layouts/main.tehnika.tpl.html замінить шапку й підвал на сторінках цієї рубрики. Для інших рубрик і сторінок без рубрики лишається звичайний файл. Ключ рубрики — її коротка назва в адресі; працює в модулях, які називають рубрику сторінки (новини, форум, магазин, завантаження).

Попередній перегляд, версії, порівняння

  • Попередній перегляд. Кнопка поруч із «Зберегти» показує чернетку в закритому вікні під полем коду. Нічого не зберігається, скрипти у вікні не працюють, чужі адреси не завантажуються, посилання на вікно діє 10 хвилин і прив’язане до вас та вашого сеансу. Вікно показує сторінку-зразок із вашими тегами та стилями сайту.
  • Версії. Кожне збереження, перейменування й видалення кладе попередній текст в історію: до 30 версій на файл. Повернення — це теж нова версія, тому нічого не пропадає. Повернення просить пароль.
  • Порівняння. «Порівняти» біля версії показує, що змінилося за рядками (червоне було, зелене стало). «Порівняти з файлом теми-основи» показує, чим ваш файл відрізняється від оригіналу.
  • «Основа змінилась». Якщо після оновлення рушія файл теми-основи змінився, у вашої копії з’явиться плашка. Порівняйте й перенесіть потрібне: автоматично нічого не замінюється.

Якщо щось пішло не так

  • Сайт показує дивацтва після правки. Відкрийте файл → «Версії цього файлу» → поверніть попередню. Або видаліть ваш файл: сайт знову візьме файл основи.
  • Шаблон не застосовується. Файли тегів власної теми замінюють не будь-який вигляд: вхід, реєстрація й інші сторінки входу, листи, оплата та замовлення лишаються як в основи — на них можуть бути форми з ключем захисту. Решта виглядів і головна розмітка замінюються.
  • Тема зламалася вся. Рушій сам поверне запасну тему, якщо ваш файл спричиняє помилку, і повідомить власнику.
  • Копія сайту. Власні теми лежать у storage/themes і в резервну копію бази не входять. Версії файлів лежать у storage/theme-history. Скопіюйте ці теки разом із файлами сайту.
  • Що скаже безпека. Теки з власними темами закриті від прямого доступу мережею; стилі, картинки та значки віддає рушій через /assets із перевіркою типу, значки SVG — із забороною скриптів. Якщо на сервері пряма адреса /storage/themes/… раптом віддає файл, повідомте власника сервера: так бути не повинно.

Оновлено 16.10.2026

На цій сторінці
Поділитися: Telegram WhatsApp
Відкладати можна і без входу: закладки збережуться в цьому браузері, а після входу їх можна перенести до облікового запису. Вхід
Обговорення

Коментарі

Обговорення ще не почалося

Поки ніхто не висловився. Будьте першим.

Поскаржитися на запис