После того, как в предыдущей статье была рассмотрена основная структура папок и файлов шаблона сайта для CMS Joomla 3, можно более подробно остановиться на файле templateDetails.xml
. В этом файле содержится структурированная информация для проверки целостности пакета шаблона (которая проверяется перед установкой шаблона), а также содержатся данные конфигурации, данные языковой локализации, настраиваемые поля шаблона, а также служебная информация о разработчике и то, что связано с правами на использование шаблона.
Данные о формате данных, содержащимся в конфиге templateDetails.xml
шаблона сайта на Joomla 3
Первые две строчки файла templateDetails.xml содержат данные о формате этого документа и данные о совместимости шаблона сайта с версией Joomla.
Первая строка содержит данные о версии XML и о кодировке файла:
<?xml version="1.0" encoding="utf-8"?>
Вторая строчка предназначена для:
- указания того, что это файл установочного пакета шаблона сайта,
- указания предназначения этого файла (то, что это шаблон Joomla),
- указания версии CMS Joomla, начиная с которой шаблон сможет работать,
- указание на стандарт формирования этого файла:
<!DOCTYPE install PUBLIC "-//Joomla! 2.5//DTD template 1.0//EN" "https://www.joomla.org/xml/dtd/2.5/template-install.dtd">
Тело конфига templateDetails.xml
шаблона сайта на Joomla 3
Ниже этих двух строчек располагается тело XML документа, которое обрамлено контейнером extension
, атрибутами которого могут быть заданы:
version
— версия Joomla, для которой предназначен шаблон.type
— тип расширения Joomla (для автоматического определения того, что за расширение пользователь подключает и/или загружает в админке). Загрузчик расширений в Joomla один для всех расширений (шаблонов, модулей и компонентов, причём как для админки, так и для сайта). Поэтому Joomla требует указания того, что за тип расширения ей подсовывают.client
— указание области сайта, для которой предназначен шаблон (админка или сайт).
Выглядит это так:
<extension version="3.9" type="template" client="site">
<!-- тут собственно содержимое тела XML-файла -->
</extension>
Поля конфига templateDetails.xml
шаблона сайта на Joomla 3 с данными о шаблоне, авторе, его контактах, лицензии и т.п.
Поле <name>
конфига templateDetails.xml
Поле <name>
содержит название шаблона, например:
<name>rezon</name>
Поле <creationDate>
конфига templateDetails.xml
Поле <creationDate>
содержит дату создания шаблона, например:
<creationDate>15 August 2019</creationDate>
Поле <author>
конфига templateDetails.xml
Поле <author>
содержит данные (обычно имя и фамилию) автора (или авторов) шаблона или название компании, которой принадлежат авторские права на этот шаблон, например:
<author>Aleksandr Zakharov</author>
Поле <authorEmail>
конфига templateDetails.xml
Поле <authorEmail>
содержит адрес электронной почты для связи с автором шаблона, например:
<authorEmail>muba4@yandex.ru</authorEmail>
Поле <authorUrl>
конфига templateDetails.xml
Поле <authorUrl>
содержит адрес сайта разработчика шаблона, например:
<authorUrl>https://mb4.ru</authorUrl>
Поле <copyright>
конфига templateDetails.xml
Поле <copyright>
содержит данные об авторском праве разработчика шаблона, например:
<copyright>Copyright (C) 2006 — 2019 MoonBase, Inc. All rights reserved.</copyright>
Поле <license>
конфига templateDetails.xml
Поле <license>
содержит данные о лицензии, выбранной разработчиком шаблона для защиты своих авторских прав, например:
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
Поле <version>
конфига templateDetails.xml
Поле <version>
содержит данные о версии шаблона, например:
<version>1.0.2</version>
Поле <description>
конфига templateDetails.xml
Поле <description>
содержит описание шаблона. Все описанные выше поля должны быть прописаны явно. В поле <description>
можно вставить языковую переменную, которая в зависимости от локализации сайта, будет отображаться на том языке, который выбран пользователем. Если в поле <description>
введена языковая переменная, то Joomla постарается найти её значение в файлах локализации. Если в файлах локализации выбранного языка не будет найдено, Joomla подставит значение из файла на английском языке. Если значения языковой переменной вообще нет ни в одном из файлов локализации, Joomla выдаст название переменной. Пример использования поля <description>
с языковой переменной:
<description>TPL_REZON_XML_DESCRIPTION</description>
Группа полей <files>
конфига templateDetails.xml
Группа полей <files>
конфига templateDetails.xml указывает в явном виде, какие папки и файлы содержатся в пакете шаблона сайта. При установке шаблона Joomla проверит наличие всех указанных папок и файлов, и если каких-то папок и/или файлов не будет найдено в установочном пакете, выдаст ошибку и, скорее всего не позволит установить шаблон.
- Папки указываются в полях
<folder>FolderNamt</folder>
- Файлы указываются в полях
<filename>FileName</filename>
Например:
<files>
<folder>css</folder>
<folder>images</folder>
<folder>language</folder>
<filename>component.php</filename>
<filename>error.php</filename>
<filename>favicon.ico</filename>
<filename>index.php</filename>
<filename>template_preview.png</filename>
<filename>template_thumbnail.png</filename>
<filename>templateDetails.xml</filename>
</files>
Группа полей <positions>
конфига templateDetails.xml
Группа полей <positions>
конфига templateDetails.xml содержит список позиций для вставки модулей в шаблон сайта. Название позиции прописывается в поле <position>
. Для каждой позиции нужно задавать отдельное поле, например:
<positions>
<position>debug</position>
<position>pos1</position>
<position>pos2</position>
</positions>
Группа полей <languages>
конфига templateDetails.xml
Группа полей <languages>
конфига templateDetails.xml задаёт файлы языковой локализации и их место расположения.
В атрибуте folder
поля <languages>
задаётся имя папки, в которой находятся папки отдельных локализаций. Обычно это папка language
и выглядит это так:
<languages folder="language">
<!-- тут список файлов локализаций -->
</languages>
Каждой отдельной локализации указывается тег, по которому будет определяться соответствие языку. Тег задаётся атрибутом tag
в поле <language>
.
Значение поля <language>
— это полный путь до файла локализации в папке, указанной в атрибуте folder
поля <languages>
.
Пример группы полей <languages>
конфига templateDetails.xml:
<languages folder="language">
<language tag="en-GB">en-GB/en-GB.tpl_rezon.ini</language>
<language tag="en-GB">en-GB/en-GB.tpl_rezon.sys.ini</language>
<language tag="ru-RU">ru-RU/ru-RU.tpl_rezon.ini</language>
<language tag="ru-RU">ru-RU/ru-RU.tpl_rezon.sys.ini</language>
</languages>
Группа полей <config>
конфига templateDetails.xml
В группу полей <config>
конфига templateDetails.xml
включены поля, содержащие настройки шаблона, которые можно использовать для управления ими через админку Joomla. Подробная статья по работе с Дополнительными полями шаблона сайта по → этой ссылке.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)