Разберем основные возможности и опции шаблонов Joomla, которые открываются нам с помощью файла "templateDetails.xml".

Для примера возьмем реальный файл из стандартного шаблона - "Beez". По умолчанию файл выглядит примерно так, как представлено ниже, за исключением того что мы укоротили список файлов (раздел "<files>...</files>")

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.5/template-install.dtd">
<install version="1.5" type="template">
    <name>beez</name>
    <creationDate>19 February 2007</creationDate>
    <author>Angie Radtke/Robert Deutz</author>
    <authorEmail>mail</authorEmail>
    <authorUrl>http://www.run-digital.com</authorUrl>
    <copyright></copyright>
    <license>GNU/GPL</license>
    <version>1.0.0</version>
    <description>Accessible template for Joomla 1.5</description>
    <files>
        <filename>params.ini</filename>
        <filename>templateDetails.xml</filename>
        <filename>template_thumbnail.png</filename>
        <filename>favicon.ico</filename>
        <filename>component.php</filename>
        <filename>css/layout.css</filename>
        <filename>html/com_contact/category/default.php</filename>
        <filename>html/index.html</filename>
        <filename>index.html</filename>
        <filename>index.php</filename>
        <filename>javascript/md_stylechanger.js</filename>
    </files>
    <languages>
        <language tag="en-GB">en-GB.tpl_beez.ini</language>
    </languages>
    <administration>
        <languages folder="admin">
            <language tag="en-GB">en-GB.tpl_beez.ini</language>
        </languages>
    </administration>
    <positions>
        <position>left</position>
        <position>right</position>
        <position>top</position>
        <position>breadcrumb</position>
        <position>user1</position>
        <position>user2</position>
        <position>user3</position>
        <position>user4</position>
        <position>debug</position>
        <position>syndicate</position>
    </positions>
    <params/>
</install>









Несколько общих замечаний:

  • Файл должен иметь имя "templateDetails.xml" (регистр букв важен!).
  • Должен быть сохранен в кодировке UTF, желательно без BOM (специальные невидимые символы).
  • Находиться файл должен в корне каталога шаблона, например для шаблона Beez адрес файла будет
    /templates/beez/templateDetails.xml.
 

Описание параметров XML:

* name - имя шаблона, никак не связано с названием директории. в которой расположен шаблон, применяется в основном для отображения в панели управления в "Менеджере шаблонов".

creationDate - дата создания шаблона, можно писать в произвольном формате, используется для панели управления.

author - автор шаблона, в произвольной форме, используется для панели управления.

authorEmail - email автора, для обратной связи, используется для панели управления.

authorUrl - домашняя страница автора.

copyright - копирайты автора.

license - лицензия, под которой распространяется шаблона Joomla (свободное ПО распространяется обычно под "GNU/GPL").

version - версия шаблона.

description - краткое текстовое описание шаблона, можно использовать html-код.

files - внутри перечисляются все файлы шаблона, каждый файл должен быть описан индивидуально, так как показано в примере и прописаны пути, где должен находиться этот файл. Используется этот список во время установки шаблона - встроенный установщик будет искать файлы в zip-архиве именно по тем путям которые прописаны в тегах "filename" и затем копировать к себе в директорию templates с указанными адресами.

languages - файлы локализаций, в атрибуте "tag" - вписываем краткое название языка (например, en-GB - английский, ru-RU - русский, и.т.д.), название файла должно быть в следующем формате:
"<краткое названия языка>.tpl_<название каталога шаблона>.ini" - например русский язык для стандартного шаблона "rhuk_milkyway" будет выглядеть так - "ru-RU.tpl_rhuk_milkyway.ini".

positions - список явно определенных позиций шаблона.


* - параметры с обязательным заполнением