Далеко не каждый знаток Joomla знает о весьма полезной функции, имя которой: «Переопределение констант». Предлагаю немедленно разобраться в данном вопросе и выяснить: что же это такое, в чём предназначение и как использовать переопределение констант на практике. Разбираться будем на примере Joomla 5.
Где лежат файлы локализации
Достаточно часто возникает ситуация, когда в компоненте, модуле или плагине требуется заменить слово или фразу.
Для решения данной задачи необходимо найти файлы локализации требуемого расширения. Сделать это можно с помощью любого FTP клиента, например с помощью Total Commander, Filezilla.
Лично мне по душе Double Commander.
Русский перевод расширений находится в каталогах:
administrator/language/ru-RU — для административной панели
language/ru-RU — для фронтальной части сайта
Соответственно, английский перевод находится в каталогах:
administrator/language/en-GB — для административной панели
language/en-GB — для фронтальной части сайта
Название файлов локализации совпадает с системным именем расширения.
Например, файлы локализации административной части компонента «com_contact», более известного, как «Контакты» хранятся в файлах:
com_contact.ini и com_contact.sys.ini
Оба расположены, как мы и говорили, в каталоге:
administrator/language/ru-RU
Откроем любой из этих файлов в текстовом редакторе.
Что мы видим?
А видим мы список констант локализации, где напротив константы в кавычках расположен её перевод.
Рука моментально тянется к клавиатуре, чтобы поменять текст в кавычках и поздравить себя с переименованием необходимой константы.
Чем это чревато?
Если мы внесём изменения в файл локализации расширения, то при каждом его обновлении файл будет перезаписан. И наши правки будут утеряны.
Если же мы внесём изменения в файл расширения, которое входит стандартную поставку Joomla, то наши изменения таинственно исчезнут после первого же обновления CMS.
Как не допустить сие?
Чтобы наши изменения не канули в небытие, воспользуемся замечательным, но мало применяемым механизмом под названием «Переопределение констант».
Однако, перед этим скопируем требуемую константу.
Пусть это будет название компонента «Контакты».
Соответственно, копируем текст «COM_CONTACT».
Далее отправляемся в административную панель сайта, переходим в раздел «Система». Затем в блоке «Управление» находим ссылку «Переопределение констант».
Откроется страница, где в её верхней части можно будет наблюдать выпадающий список «Выбор области системы».
Выберем вариант «Russian (ru-RU) - Панель управления».
После чего нажмём кнопку «Создать».
Теперь в поле «Константа» введём ранее скопированную константу, а ниже, в соответствующее поле, её новое значение.
Если нам требуется переопределить константу и для фронтальной части, установим флажок напротив текста «Для сайта и панели»
Далее нажимаем кнопку «Сохранить».
Проверяем: действительно ли поменялся требуемый текст.
Как видим, компонент «Контакты» действительно сменил название.
После этого нажимаем кнопку «Сохранить и закрыть» и от всей души поздравляем себя с тем, что мы не только изменили название у компонента, но и сделали так, что оно таковым останется навечно и не исчезнет при ближайшем обновлении.
Заключение
Польза от «переопределения констант» огромна. Владелец сайта может не только менять один текст на другой, но и переводить определённые константы. Например, языковые константы шаблонов.
Очень надеюсь, что обсуждаемую тему я раскрыл.
Если у вас остались вопросы и предложения, с радостью выслушаю их в своей группе по ссылке ниже:
С уважением, Владимир Егоров