Переопределение файлов Joomla

Для сохранения измененных модулей, макетов и компонентов при обновлении Joomla 3 используют переопределение, то есть, копирование файлов ядра движка их корневой директории в папку шаблона. Например, за вывод статей отвечает файл ядра default, расположенный в директории:

Components/ com_content/views/article/tmpl

При переопределении он копируется в директорию:

Templates/шаблон/html/ com_content/article/

Особенность Joomla такова, что при наличии файлов движка в папке шаблона они будут подключаться первыми автоматически. Если в templates файлов ядра нет, то они запускаются из коревой директории.

Чтобы в мире была красота и гармония, стоит знать, что при обновлении CMS заменяются файлы движка именно в корневой директории. В папке шаблона они не трогаются – там идёт обновление только стандартных файлов templates, для папки html делается исключение. Получается, что при обновлении тот же default статьи заменяется в

com_content/views/article/tmpl

Но остаётся нетронутым в

шаблон/html/ com_content/article/

Используя переопределение можно спокойно корректировать модули, макеты и компоненты, не боясь, что труды уйдут в песок при обновлении Joomla. Ранее приходилось после Update восстанавливать некоторые файлы из бекапа, сегодня это делается с помощью переопределения – те же яйца, вид сверху, только проще и надёжней.

переопределение создано

Создаём

Создаётся переопределение в пару кликов. Идёте по пути

Админка – Расширения – Менеджер шаблонов – Шаблоны

Выбираете свой Template и находите пункт «Создать переопределение».

Здесь видны все папки и файлы, которые движок позволяет переопределить. Они разбиты на три группы:

  1. Модули,
  2. Компоненты,
  3. Макеты.

В модулях и макетах сразу видны файлы, в компонентах указы папки, которые открывают для выбора файлов. Достаточно нажать на нужный файл, например com_xmap/xml, и произойдёт переопределение:

Переопределение создано в /templates/protostar/html/com_xmap/xml

Переопределение успешно создано.

Из примера выше – теперь xml из компонента com_xmap будет подключаться из папки шаблона. Если вы обновите карту сайта, то файл html будет подключаться из корня, а xml из шаблона и останется неизменённым.

удаление переопределения

Удаляем

Что главное в танке? Правильно – не обосраться, поэтому не переусердствуйте с переопределениями. Если усердие превысило необходимость, то лишние файлы из шаблона удалите через ftp – ломать не строить, проблем тут не будет:

  • Открываете через Total Commander папку html шаблона,
  • Находите ненужное переопределение,
  • Удаляете.

Почему важно не переусердствовать? Потому что, загнав в шаблон половину файлов, тыкая на кнопку переопределения, вы не обновите нормально движок и не сможете воспользоваться новыми наработками Joomla. Переопределяйте только те файлы, в которые внесены крупные изменения. Если все изменение это замена h2 на h1 в default статей, то вывод заголовков легко подкорректировать ручками и после update движка.