Переопределение шаблона в Joomla: чек-лист без правок ядра
Как изменить разметку Joomla 5.x и не потерять правки после обновления: выбор файла, создание override, проверка результата и список ошибок, из-за которых изменения не появляются на сайте.

В Joomla 5.x переопределение шаблона позволяет изменить HTML компонента или модуля, не редактируя файлы ядра. Обычно на это уходит 15–30 минут: вы находите нужный вид, создаёте override в активном шаблоне, меняете копию и проверяете страницу в режиме без кеша. Чек-лист ниже рассчитан на владельца сайта и вебмастера, которые хотят изменить вывод, но не готовы сопровождать собственную сборку Joomla после каждого обновления.
Что проверить до начала
Переопределение меняет представление, а не данные и не логику компонента. Если нужно добавить поле в админке, изменить запрос к базе или повлиять на сохранение материала, override не решит задачу.
- Сайт работает на Joomla 5.x. Для Joomla 4.4 названия экранов и расположение отдельных кнопок могут отличаться.
- У вас есть доступ администратора к панели управления и доступ к файлам сайта по SSH, FTP или через файловый менеджер хостинга.
- Вы знаете название активного шаблона: его можно посмотреть в разделе шаблонов сайта.
- Перед изменениями создана резервная копия файлов и базы данных. Минимум сохраните каталог активного шаблона.
- В браузере открывается страница, которую вы будете проверять: материал, категория, карточка контакта или страница с модулем.
Главное правило Joomla: меняйте копию представления внутри шаблона, а не исходный файл компонента. Иначе обновление расширения перезапишет работу.
Override, или переопределение шаблона, — копия файла представления, которую Joomla ищет в активном шаблоне раньше исходного файла расширения.
Чек-лист создания override через админку
- Определите источник разметки. Посмотрите, что именно нужно изменить: страницу компонента, модуль, поле формы или общий layout. Для страницы материала это обычно компонент материалов, для блока меню — модуль меню, для блока поиска — модуль поиска. Если элемент выводится сторонним расширением, сначала запишите его точное системное имя. Проверка: вы можете назвать расширение и конкретный блок, который должен измениться.
- Откройте менеджер шаблонов. В административной панели Joomla 5.x перейдите в раздел шаблонов сайта через меню «Система». Откройте активный шаблон и страницу его файлов. Названия пунктов могут зависеть от языка панели и версии Joomla, но искать нужно раздел Site Templates и карточку конкретного шаблона. Проверка: вы видите список файлов активного шаблона и действие для создания переопределений.
- Выберите расширение и вид. На экране создания override Joomla показывает доступные компоненты, модули и layouts. Выберите именно тот элемент, который выводит нужную разметку. Не копируйте весь компонент ради одной кнопки: это увеличит объём будущих обновлений и усложнит поиск проблемы. Проверка: выбранный элемент соответствует странице, а не просто похож по названию.
- Создайте копию. Нажмите действие Create Overrides или его локализованный вариант. Joomla создаст каталог и файл внутри активного шаблона. Для компонента путь обычно выглядит как
templates/ИМЯ_ШАБЛОНА/html/com_ИМЯ_КОМПОНЕНТА/, для модуля — какtemplates/ИМЯ_ШАБЛОНА/html/mod_ИМЯ_МОДУЛЯ/. Проверка: новый файл появился в списке файлов шаблона, а исходник расширения остался нетронутым. - Сделайте маленькое изменение. Сначала измените один заметный элемент: класс, подпись или порядок вывода. Не переписывайте файл целиком, пока не убедились, что Joomla использует копию. Сохраняйте исходный файл отдельно, чтобы быстро сравнить его с override. Проверка: в файле шаблона видна только ожидаемая правка, без случайных удалений и лишних пробелов в PHP-коде.
- Очистите кеш. Очистите кеш Joomla в административной панели и обновите страницу с принудительной перезагрузкой браузера. Если перед сайтом стоит CDN или серверный кеш, очистите и его. Проверка: вы проверяете страницу в новой сессии браузера или в приватном окне, а не только старую вкладку.
- Проверьте несколько состояний. Откройте страницу для гостя и авторизованного пользователя, если вывод зависит от прав. Проверьте мобильную ширину, длинный заголовок, отсутствие изображения и несколько языков, если они включены. Проверка: изменение появилось только там, где нужно, а PHP-ошибок и нарушенной верстки нет.
Как выбрать правильный файл
Самая частая ошибка — редактировать первый найденный файл. В Joomla один и тот же компонент может иметь разные представления: список, категория, отдельный материал, форма и общий layout. Название страницы в меню не всегда совпадает с именем файла.
| Что меняете | Где обычно искать override | Что проверить |
|---|---|---|
| Список материалов или категория | Каталог компонента материалов внутри templates/ИМЯ_ШАБЛОНА/html/ | Тип пункта меню и выбранный layout категории |
| Отдельный материал | Представление отдельного материала компонента | Открывается ли страница через тот же пункт меню |
| Блок меню, поиска или входа | Каталог соответствующего mod_... | Позицию, тип модуля и его статус публикации |
| Вывод стороннего расширения | Каталог компонента или модуля этого расширения | Поддерживает ли расширение стандартные Joomla layouts |
Если в менеджере шаблонов нет ожидаемого компонента или модуля, это не означает, что файл нужно создать вручную. Расширение может использовать собственную систему шаблонов, генерировать разметку программно или хранить layout в нестандартном месте. Сначала проверьте документацию расширения.
Два способа: админка или файлы
Для обычного сайта безопаснее начать с менеджера шаблонов. Он создаёт нужную структуру каталогов и снижает риск ошибки в имени папки. Ручное копирование полезно, когда override уже есть в репозитории проекта или когда изменения нужно переносить между тестовым и рабочим сайтом.
| Подход | Плюс | Цена и риск | Когда выбирать |
|---|---|---|---|
| Создание через админку | Joomla сама создаёт структуру и показывает доступные layouts | Изменения неудобно переносить без контроля файлов | Одна правка на рабочем или небольшом сайте |
| Копирование через SSH, FTP или Git | Есть история изменений и повторяемый деплой | Легко ошибиться в пути или скопировать не тот файл | Командная разработка и тестовый контур |
| Правка исходника расширения | Изменение видно сразу | Обновление расширения может его удалить | Практически никогда; только как временная диагностика на копии сайта |
Что ломается чаще всего
На сайте ничего не изменилось
Обычно выбран не тот view, остался кеш или страница выводится другим пунктом меню. Сравните URL и тип страницы, временно измените видимый текст в override и очистите кеш Joomla, браузера и CDN.
Появилась ошибка 500
Проверьте синтаксис изменённого PHP-файла и верните последнюю правку. Не скрывайте ошибку отключением отображения проблем на рабочем сайте: посмотрите журнал ошибок PHP и журнал Joomla на сервере. Если ошибка возникла после обновления расширения, сравните новый исходный layout с вашей копией.
Разметка есть, но стили не работают
Override меняет HTML, но не добавляет автоматически CSS. Проверьте классы, которые ожидала тема, и убедитесь, что вы не удалили обязательный атрибут или контейнер. Подключение стилей — отдельная задача; не добавляйте большой CSS-блок прямо в PHP-файл.
После обновления расширения всё выглядит иначе
Исходный layout мог измениться, а override остался старым. Сравните файлы из новой версии с копией в шаблоне и перенесите только нужные изменения. Не заменяйте override новым файлом без резервной копии: так легко потерять собственные правки.
Правка работает у администратора, но не у гостя
Проверьте кеширование, права доступа и условия вывода модуля. Joomla может показывать авторизованному пользователю другой набор модулей или другой вариант страницы.
Где подход ломается
Переопределение не подходит для изменения бизнес-логики, SQL-запросов, обработки формы и правил доступа. Оно также не гарантирует стабильность, если стороннее расширение полностью меняет структуру layout от версии к версии. Для таких задач используют настройки самого расширения, плагин, дочерний код или отдельную доработку — конкретный вариант зависит от документации расширения и способа его обновления.
Не создавайте десятки override без списка владельцев и дат изменений. Через несколько месяцев будет трудно понять, почему в шаблоне лежит файл, который уже не совпадает с исходником. Храните изменения в Git или хотя бы добавляйте комментарий с причиной правки и версией расширения.
Что сделать дальше
После первой правки составьте реестр переопределений: путь к файлу, расширение, версия Joomla, дата изменения и ссылка на задачу. На тестовом сайте сравните override с исходными layout после обновления Joomla и расширений. В продакшене смотрите не только на внешний вид, но и на журнал PHP-ошибок, время ответа страницы и ошибки JavaScript в браузере. Если изменение затрагивает форму, авторизацию или оформление заказа, проверьте полный пользовательский сценарий, а не одну страницу.
Проверка рекламы на риски: Что в макете вызовет вопросы ФАС: превосходные степени, сравнения, обещания результата, маркировка.
Спросить за 40 ₽Источники: Joomla Documentation: Layout Overrides in Joomla, Joomla Documentation: Template Overrides
Частые вопросы
Можно ли редактировать файл компонента напрямую?
Почему созданный override не виден на странице?
Что делать, если после обновления Joomla или расширения появился 500?
Нужен ли override для изменения текста на кнопке?
Можно ли создавать переопределения на рабочем сайте?
Что делать, если у меня Joomla 4, а инструкция написана для Joomla 5?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.