
Шаблон extra.less в Xenforo
Часто на форуме встречаются вопросы или рекомендации добавить код или изменить внешний вид форума через шаблон extra.less. Объясняю максимально коротко и по мере возможностей что это такое.Разбор шаблона extra.less в Xenforo
- Шаблон extra.less предназначен для внесения пользовательских правок в стили форума. Расширение .less, а не .css, потому что LESS намного удобнее CSS — это и переменные, и вложенные блоки, и миксины, и многое другое. На выходе всё равно получается CSS, благодаря магии движка.
- Шаблон extra.less имеет самый высокий приоритет с точки зрения отрисовки стилей. Это значит, что чисто теоретически вы можете совсем не открывать настройки стиля, а делать все правки в extra.less. Но это решение на уровне вредных советов Г. Остера, и перед внесением кода в extra.less нужно убедиться, что того же результата нельзя добиться изменением переменных в настройках стиля (а для этого, внезапно, нужно будет с ними не раз и не два тщательно ознакомиться).
- Из предыдущего пункта следует следующий тезис — даже если в настройках стиля цвет ссылок стоит синий, в extra.less вы можете сделать их красными. extra.less = приоритет. extra.less = сила. extra.less = власть.
С одной стороны это может казаться удобным — переопределять всё сразу в extra.less, но через какое-то время с огромной вероятностью вы либо запутаетесь и забудете где что находится, либо сразу запорете миксины стиля, либо можете столкнуться с проблемами при обновлении версии стиля. - Итак, мы разобрались, что в extra.less нужно добавлять только то, на что нет настроек в интерфейсе админки.
Ещё одним частым сценарием использования extra.less является расширение/подмена стилей, связанных с каким-то определенным плагином. Да, у плагинов есть свои настройки стиля, но далеко не всегда авторы добавляют туда возможность менять всё-всё-всё, что вам нужно. В этом случае добавляются свои стили в extra.less
Более редким, но жизнеспособным сценарием являются ситуации, когда в настройках стиля всё-таки нет возможности поменять внешний вид функций движка. Как правило это что-то незначительное, вроде внешнего вида голосований — стили для них берутся общие, и если захочется кастомизировать без изменения общих стилей, то придётся делать правки в extra.less.
Менять другие шаблоны движка напрямую или через модификацию в этом случае не надо.
Это были основы. Теперь пара советов/рекомендаций/интересных фактов.
- У каждого стиля свой файл extra.less. Поэтому нужно удостовериться, что при редактировании шаблона extra.less в админке, на фронтенде вы проверяете тот же стиль.
- Если вы большой любитель кастомных стилей или у вас есть десяток плагинов, каждому из которых требуется правка стилей, то вы можете столкнуться с разросшимся файлом extra.less, в котором уже сложно ориентироваться. В этом случае можно разбить код на несколько шаблонов — создать условный шаблон ewr_porta_custom.less, где находится куча строк со стилизацией плагина, а в файле extra.less воспользоваться следующей конструкцией: {{ include('ewr_porta_custom.less') }}. Таким образом можно структурировать свой код стилей.