Создание шаблона для Joomla 3, настройка xml-файла

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

Создание любого шаблона Joomla 3 начинается помимо прочего именно с создания и наполнения данного файла. Итак, открываем наш не так давно созданный файл templateDetails.xml и приступаем к его наполнению. В самом начале файла необходимо добавить блок кода, который будет содержать информацию о нашем шаблоне – дату создания, версию, имя и электронный адрес автора, информацию о лицензии и авторских правах, а так же описание создаваемого шаблона.

Информационный блок кода установочного xml файла

Данный информационный блок может выглядеть следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.8" type="template" client="site">
 <name>Joom4all</name>
 <creationDate>Октябрь 2017</creationDate>
 <author>Joom4all.ru</author>
 <authorEmail>Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.</authorEmail>
 <authorUrl>http://joom4all.ru</authorUrl>
 <copyright>Некая информация об авторских правах (С)</copyright>
 <license>Лицензионная информация, по которой будет распространяться данный шаблон</license>
 <version>1.0.0</version>
<description>Самостоятельно созданный шаблон для сайта Joom4all.ru</description>

Думаю, суть информационного блока вполне понятна – в первой строке мы указываем версию xml и кодировку, следующие теги давайте разберем подробнее:

  • extension – в данном теге указываем версию Joomla, для которой предназначено данное расширение, в моем случае это версия 3.8. Далее указываем, что данное расширение у нас будет шаблоном (type="template") и не просто шаблоном, а шаблоном для сайта (client="site"). Если шаблон планируется для панели управления, то указывается это следующим образом - client="administrator";
  • name – имя нашего шаблона;
  • creationDate – дата создания, можно писать в различных форматах (например, 13.10.2017 или Октябрь 2017);
  • author – название данного тега говорит само за себя, в нем мы указываем имя автора;
  • authorEmail – адрес электронной почты автора шаблона;
  • authorUrl – адрес сайта разработчика или разработчиков шаблона;
  • copyright – информация по авторским правам;
  • license – некая информация о лицензии, по которой будет распространяться шаблон;
  • version – версия расширения, в нашем случае версия шаблона;
  • description – краткое описание создаваемого шаблона.

Для наглядности посмотрите на скриншот кода в установочном xml файле:

Информационный блок кода в манифест файле templateDetails.xml

С данным блоком информационного характера разобрались, как видите, ничего сложного нет. Теперь необходимо указать установщику, какие файлы и папки используются в нашем шаблоне.

Блок файлов и папок

Тут сложностей так же нет, каждый файл обозначаем тегами filename, а каждую папку тегами folder, и все это дело оборачиваем тегом files. Выглядит все это дело следующим образом:

<files>
 <filename>index.php</filename>
 <filename>templateDetails.xml</filename>
 <filename>template_preview.png</filename>
 <filename>template_thumbnail.png</filename>
 <filename>favicon.ico</filename>
 <folder>css</folder>
 <folder>html</folder>
 <folder>images</folder>
 <folder>js</folder>
 <folder>fonts</folder>
 <folder>language</folder>
</files>

И скриншот:

Указываем какие папки и файлы будут скопированы при установке шаблона

Таким образом, мы перечислили все файлы, которые присутствуют в шаблоне и подлежат копированию на сервер. Однако Вы можете заметить, что мы не указывали никакие вложенные файлы, которые могут присутствовать в папках css, language и так далее. Все правильно, тут нет никакой ошибки, все вложенные файлы и папки будут скопированы автоматически, а нам надо лишь указать все то, что находится в корневом каталоге.

Информация о позициях для модулей

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

<positions>
 <position>position-0</position>
 <position>position-1</position>
 <position>position-2</position>
 <position>position-3</position>
 <position>position-4</position>
 <position>position-5</position>
</positions>

Указываем количество и имена позиций для модулей в нашем шаблоне Joomla 3

Синтаксис таков – все доступные позиции модулей заключены в блок positions, а каждая отдельная позиция находится в теге position. Вместо имени позиции, например «position-0» можно написать что угодно. Но я рекомендую оставить, так как есть, в дальнейшем, когда мы будем говорить о локализации шаблона, мы создадим для каждого имени свой перевод.

Завершается установочный файл templateDetails.xml закрывающимся тегом </extension>. В итоге общий код нашего установочного файла будет выглядеть следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.8" type="template" client="site">
 <name>Joom4all</name>
 <creationDate>Октябрь 2017</creationDate>
 <author>Joom4all.ru</author>
 <authorEmail>Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.</authorEmail>
 <authorUrl>http://joom4all.ru</authorUrl>
 <copyright>Некая информация об авторских правах (С)</copyright>
 <license>Лицензионная информация, по которой будет распространяться данный шаблон</license>
 <version>1.0.0</version>
 <description>Самостоятельно созданный шаблон для сайта Joom4all.ru</description>
 <files>
  <filename>index.php</filename>
  <filename>templateDetails.xml</filename>
  <filename>template_preview.png</filename>
  <filename>template_thumbnail.png</filename>
  <filename>favicon.ico</filename>
  <folder>css</folder>
  <folder>html</folder>
  <folder>images</folder>
  <folder>js</folder>
  <folder>fonts</folder>
  <folder>language</folder>
 </files>
 <positions>
  <position>position-0</position>
  <position>position-1</position>
  <position>position-2</position>
  <position>position-3</position>
  <position>position-4</position>
  <position>position-5</position>
 </positions>
</extension>

На этом редактирование данного файла можно завершить, скажу сразу, что это только основная часть того что может содержать данный файл. В дальнейшем мы его будем дополнять, и усовершенствовать, а самое интересное то, что это все можно будет делать уже после установки шаблона.

Теперь можно приступить к установке нашего шаблона. Для этого необходимо заархивировать все файлы и папки шаблона в zip архив. И установить его стандартным способом через панель управления. После установки мы получим стандартное сообщение, что шаблон успешно установлен:

Установка самостоятельно созданного шаблона для сайта на Joomla прошла успешно

Теперь давайте перейдем в раздел «Расширения»->«Шаблоны» и посмотрим, что у нас там имеется:

Созданный нами шаблон для сайта отображается в панели управления, все работает!

Можно убедиться, что шаблон действительно установлен корректно, картинки и описание отображается. Все работает!

На этом данная статья подошла к концу, в следующей статье мы несколько усложним наш установочный файл, добавим разделы, отвечающие за локализацию, разберем, что такое локализация шаблона и научимся работать с языковыми константами.

Добавить комментарий


Комментарии   

Interion
+1 #1 Interion 23.01.2018 01:07
Очень важный момент, кодировка templateDetails.xml должна быть UTF-8-BOM иначе при установке шаблона будет ошибка JInstaller: :Install: Не удалось найти XML-файл установки
Цитировать
Joom4all
0 #2 Joom4all 24.01.2018 12:07
Да, это действительно так, но если создавать файл templateDetails.xml и другие файлы в специальных редакторах кода, например Sublime text, то подобных проблем можно избежать. Там кодировка UTF-8-BOM установлена по умолчанию.
Цитировать
Павел
0 #3 Павел 26.02.2018 14:12
как посмотреть урок номер 3 и далее?
Цитировать
Joom4all
+1 #4 Joom4all 26.02.2018 14:18
Полный набор статей на тему создания шаблона находится в разделе «Расширенные возможности». Однако я с вами соглашусь, что искать их среди всех статей не самое приятное занятие. Поэтому было принято решение в ближайшее время сделать новую статью, в которой будут ссылки на все уроки по созданию шаблона и их краткое описание.
P.S. следующая статья находится по адресу http://joom4all.ru/sites-creation/advanced/66-sozdanie-shablona-joomla-chast-3
Цитировать
Павел
0 #5 Павел 26.02.2018 15:39
Огромное спасибо!
Цитировать
Ника
0 #6 Ника 07.04.2019 19:37
Добрый день! Подскажите, пожалуйста, по файлу-манифесту. Я копирую установочный шаблон джумла, переименовываю и создаю на нем дизайн. Далее, при обновлении джумлы и расширений, система пишет, что файл манифест не обновлен. При этом обновляется все хорошо.
Может быть в этом манифесте поменять автора?
Благодрю, заранее.
Цитировать