Локализация и параметры шаблона Joomla (Часть 3)

Параметры шаблона

Joomla позволяет добавлять параметры в шаблоны, делая их гибкими для настроек пользователями. Например, вы можете предусмотреть несколько цветовых схем (зелёную, красную) или вариантов макета. Тогда пользователь сможет выбрать подходящий стиль в настройках шаблона в админ-панели.

Добавим в наш шаблон тестовый параметр testparam. На этом этапе мы просто объявим его, не реализуя логику использования.

Для определения параметров в файле манифеста (templateDetails.xml) используется секция . В этой секции на языке XML описывается форма настроек с применением стандартных типов полей Joomla. По сути, каждый элемент поля в XML-файле соответствует конкретному элементу управления (например, выпадающему списку или полю ввода) в форме параметров шаблона.

 <config>
        <fields name="params">
            <fieldset name="advanced">
                <field
                    name="testparam"
                    type="radio"
                    label="Тестовый параметр"
                    default="1"
                    layout="joomla.form.field.radio.switcher"
                    filter="boolean"
                    >
                    <option value="0">JNO</option>
                    <option value="1">JYES</option>
                </field>
            </fieldset>
        </fields>
    </config>   

Описание выше определяет тестовый параметр, который может принимать значения Нет/Да (0/1).
Для получения значения параметра в файле index.php используем следующую конструкцию:

//Получение параметров настройки шаблона
//Если вы хотите добавить собственные параметры, вы можете сделать это в файле templateDetails.xml
$testparam =  $this->params->get('testparam');

Локализация шаблона

Локализация в Joomla — это возможность адаптировать сайт под разные языки, учитывая языковые, культурные, правовые и другие особенности целевой аудитории. Это позволяет создавать мультиязычные сайты, где контент может отображаться на разных языках, а пользователи — выбирать язык интерфейса. Локализация шаблона позволит менять описание нашего параметра (label) в зависимости от текущего языка.
Например метку тестового параметра testparam, который добавили предыдущем шаге, неплохо выводить на родном языке администратора сайта.

Для добавления локализации (поддержки многоязычности) в шаблоне Simple необходимо выполнить три основных шага: создать языковые файлы, зарегистрировать их в манифесте и подключить в коде.

Создание языковых файлов

Языковые файлы должны находиться в папке language/ внутри архива установки шаблона. При установке Joomla автоматически переместит их в нужные директории сайта (/language/ru-RU/, /language/en-GB/ и т.д.).

Структура каталогов для размещения файлов локализации в zip-архиве шаблона:

simple/
├── language/
│   ├── ru-RU/
│   │   └── tpl_simple.ini
│   └── en-GB/
│       └── tpl_simple.ini
├── media/
├── index.php
└── templateDetails.xml

Важно: Имя файла должно соответствовать стандарту tpl_имя_шаблона.ini.

Создаем каталоги и файлы локализации:

ru-RU/tpl_simple.ini

TPL_SIMPLE_COPYRIGHT="© 2025 FutureLab LLC. Все права защищены."
TPL_SIMPLE_HEADER="Шапка сайта"
TPL_SIMPLE_FOOTER="Подвал сайта"
TPL_SIMPLE_TESTPARAM="Параметр"

en-GB/tpl_simple.ini

TPL_SIMPLE_COPYRIGHT="© 2025 FutureLab LLC. All rights reserved."
TPL_SIMPLE_HEADER="Site Header"
TPL_SIMPLE_FOOTER="Site Footer"
TPL_SIMPLE_TESTPARAM="Params"

Необходимо добавить секцию <languages>, в файл templateDetails.xml шаблона, чтобы Joomla знала, какие файлы копировать при установке.

Добавьте этот блок внутрь тега <extension> в файле templateDetails.xml:

    <languages folder="language">
        <language tag="en-GB">en-GB/tpl_simple.ini</language>
        <language tag="ru-RU">ru-RU/tpl_simple.ini</language>
    </languages>

В описании параметра testparam в манифесте, заменяем подпись на константу локализации

    label="TPL_SIMPLE_TESTPARAM"

Мы можем применить константы локализации в index.php

Для вывода текстов в файлах шаблона используется класс Text. Добавим его импорт в начало файла index.php (после других use)

use Joomla\CMS\Language\Text;

Добавим в подвал (footer) сайта локализованную строку с информацией об авторских правах с помощью статического метода класса: Text::_():

<footer>
    ...
    <p><?php echo Text::_('TPL_SIMPLE_COPYRIGHT'); ?></p>
</footer>

Пакуем дистрибутив в zip-архив устанавливаем и проверяем работу.

На вкладке "Дополнительные параметры" в стилях шаблона, обнаруживаем наш параметр. .

Рисунок №1

На главной странице наблюдаем появление строки копирайта.

Рисунок №2

Если, при переключении языка сайта, изменяется текст строки копирайта, то локализация шаблона выполнена правильно.

Резюме: Мы подошли к концу базового блока по разработке простого шаблона Joomla v5/6. В следующих материалах будут рассмотрены продвинутые техники расширения его функционала и дизайна. .