Почитать другие заметки или статьи

Далеко не каждый знаток 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) - Панель управления».

После чего нажмём кнопку «Создать».

Теперь в поле «Константа» введём ранее скопированную константу, а ниже, в соответствующее поле, её новое значение.

Если нам требуется переопределить константу и для фронтальной части, установим флажок напротив текста «Для сайта и панели»

Далее нажимаем кнопку «Сохранить».

Проверяем: действительно ли поменялся требуемый текст.

Как видим, компонент «Контакты» действительно сменил название.

После этого нажимаем кнопку «Сохранить и закрыть» и от всей души поздравляем себя с тем, что мы не только изменили название у компонента, но и сделали так, что оно таковым останется навечно и не исчезнет при ближайшем обновлении.

Заключение

Польза от «переопределения констант» огромна. Владелец сайта может не только менять один текст на другой, но и переводить определённые константы. Например, языковые константы шаблонов.

Очень надеюсь, что обсуждаемую тему я раскрыл.

Если у вас остались вопросы и предложения, с радостью выслушаю их в своей группе по ссылке ниже:

https://vk.com/sitogon

С уважением, Владимир Егоров