templateDetails.xml — файл конфигурации шаблона сайта на Joomla 3

После того, как в предыдущей статье была рассмотрена основная структура папок и файлов шаблона сайта для 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>[email protected]</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. Подробная статья по работе с Дополнительными полями шаблона сайта по → этой ссылке.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню