Иконка ресурса

Модификация шаблонов Xenforo

Совместимость с XenForo
  1. 2.0
  2. 2.1
  3. 2.2
Перед нами стоит задача: в корне изменить какой-либо шаблон или исправить в нём косяк. Нам совершенно не нужно постоянно его править при обновлении версии и нежно разом его поправить во всех стилях. Для этого есть инструмент "Модификация шаблонов" из коробки. Это очень сильно упрощает разработку при том, что нам не нужно напрямую вмешиваться в шаблоны разработчика.

Данный мануал основан на моём опыте работы с ним, так что возможны допущены какие-либо ошибки или неточности из-за недостатка знаний.



Как создать модификацию​

Для того, чтобы создать модификацию нам необходимо зайти в Панель управления (Админку) – Внешний вид – Модификации шаблонов

Снимок экрана 124705.png

Далее нам необходимо создать модификацию, для этого у нас есть 2 варианта:
1. Нажать на кнопку Добавить модификацию шаблона. Если её у Вас нет, то необходимо включить режим debug (Как включить описано в FAQ)

Снимок экрана 131640.png

2. Дописываем к адресу /add, т.е. у нас должна получиться подобная ссылка в адресной строке: ?template-modifications/add

Снимок экрана 132122.png



Форма создания модификации​

Далее разберём немного саму форуму модификации:

Снимок экрана 134358.png

Шаблон – В этой графе необходимо вписать шаблон, в котором будет проходить модификация. После ввода имени шаблона появится не редактируемое поле с содержимым данного шаблона. Это поможет вам в разборе кода без надобности его открывать в новой вкладке.

Ключ модификации – Обязательное поле, в котором необходимо присвоить уникальное имя модификации на латинице без пробелов и цифр.

Описание – Желательно вписать описание коротко и ясно, чтобы было понятно, что эта модификация будет делать. Она отображается рядом с названием шаблона в общем списке модификаций

Тип поиска – Выбор основного метода как будет модифицироваться шаблон. Имеются 3 способа:
  1. Простая замена – Обычная замена искомого на необходимое.
  2. Регулярное выражение – Этот метод отлично подходит для поиска какого-нибудь конкретного блока в коде, или поиск абсолютно всего содержимого.
  3. PHP-обработчик – Текст для поиска должен быть полным регулярным выражением. Поле замены должно быть в виде className::methodName для вызова. Обработчику будет передан один параметр, массив совпадений из регулярного выражения. Он должен вернуть обновленные строки шаблона.
Найти – Вводим искомый код или регулярное выражение. Как показала практика, необходимо вводить куски кода точь-в-точь как написано в самом шаблоне иначе не будет работать. Благо есть кнопка для проверки работы данной модификации.

Заменить – Вводим то, на что необходимо заменить. Для вставки найденного используем $0, для регулярного выражения $1. Регулярные выражения также должны экранировать обратную косую черту в заменяемом содержимом (используя \\). Также можно использовать синтаксис шаблонов XenForo.

Порядок выполнения – Здесь, думаю, пояснения не нужны. Указывается номер выполнения задачи модификации, по умолчанию установлено на 10. Чем выше значение, тем поздней будет модифицироваться шаблон и наоборот. Если Вы делаете несколько модификаций в одном шаблоне, советую увеличивать порядок выполнения, чтобы избежать возможности косяков.

Плагин – Тут указывать плагины нет необходимости, если, конечно, Вы не создаёте плагин и хотите привязать к нему модификацию.

Нажимаем кнопку Протестировать, если всё отрабатывается отлично, то Сохранить модификацию и наслаждаемся полученным результатом.
  • 🔥
Реакции: 1 пользователь
Назад
Сверху