Файл описания шаблонов сайта .templates.php
Файл .templates.php определяет шаги Выбор группы шаблонов, Выбор шаблона и Установка шаблона в цепочке шагов мастера создания сайта. Если в папке мастера нет файла .templates.php, то шаги Выбор группы шаблонов, Выбор шаблона и Установка шаблона отсутствуют. Группа шаблонов предоставляет возможность сгруппировать шаблоны сайта, например, по тематике или компоновке (layout).
В файле .templates.php описываются шаблоны, находящиеся в поддиректории templates папки мастера. В поддиректории templates должны находиться папки шаблонов сайта. Данные (название, описание, скриншоты шаблонов сайта) для шага Выбор шаблона берутся из файлов (description.php, screen.gif и preview.gif), находящихся в папке шаблона.
Если в поддиректории templates есть шаблоны сайтов, а файл .templates.php отсутствует, то шаги Выбор шаблона и Установка шаблона все равно добавятся в цепочку шагов мастера создания сайта.
Структура типичного файла .templates.php такова:
<? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); $arWizardTemplates = Array( "GROUPS" => Array( "BUSINESS" => Array( "NAME" => GetMessage("TEMPLATE_GROUP_BUSINESS"), "SITE_ID" => "homepage", "SCREENSHOT" => "images/comp1.gif", "PREVIEW" => "images/comp1_prev.gif" ), "COMPUTER" => Array( "NAME" => "Компьютер", "SITE_ID" => "homepage", "SCREENSHOT" => "images/comp2.gif", "PREVIEW" => "images/comp2_prev.gif" ), "BLOGS" => Array( "NAME" => "Блоги", "SITE_ID" => "blog", "SCREENSHOT" => "images/comp3.gif", "PREVIEW" => "images/comp3_prev.gif", "DEFAULT" => "Y", ), "CARS" => Array( "NAME" => "Машины", "SITE_ID" => Array("blog", "homepage"), "SCREENSHOT" => "images/comp4.gif", "PREVIEW" => "images/comp4_prev.gif" ), ), "TEMPLATES" => Array( "template1" => Array( "GROUP_ID" => "BUSINESS", "INSTALL_STEPS" => Array( "SCRIPT" => "scripts/template1.php", "STEPS" => Array( "step100" => "Step100", "step200" => "Step200", ) ), ), "template2" => Array( "GROUP_ID" => "BUSINESS", ), "three_columns" => Array( "GROUP_ID" => Array("BLOGS", "BUSINESS", "CARS", "COMPUTER"), "DEFAULT" => "Y", "FILES" => Array( Array("FROM" => "files/three_columns", "TO" => "/"), ), "SELECT_STEPS" => Array( "SCRIPT" => "three_columns.php", "STEPS" => Array( "templatestep" => "TemplateStep", ) ), ), "two_columns" => Array( "GROUP_ID" => "COMPUTER", ), ), ); ?>В файле .templates.php определяется массив $arWizardTemplates, имеющий следующие ключи:
- "GROUPS" – значением этого ключа является массив групп шаблонов. Если этот ключ не определён, шаг Выбор группы шаблонов отсутствует в цепочке шагов мастера создания сайта. Массив групп шаблонов состоит из элементов следующего вида:
"ID группы шаблона" => Array( "NAME" => имя группы шаблона "SITE_ID" => ID сайта (одиночное значение или массив) "SCREENSHOT" => путь относительно папки мастера к картинке группы "PREVIEW" => путь относительно папки мастера к уменьшенной копии картинки группы "DEFAULT" => если равно "Y", то данная группа будет выбрана по умолчанию ),
- "TEMPLATES" – значением этого ключа является массив шаблонов. Массив шаблонов состоит из элементов следующего вида:
"ID шаблона" => Array( "GROUP_ID" => ID группы, к которой принадлежит шаблон (одиночное значение или массив) "SITE_ID" => ID сайта, к которому принадлежит шаблон (одиночное значение или массив) "DEFAULT" => если параметр равен "Y", то данный шаблон будет выбран по умолчанию в шаге Выбор шаблона "SORT" => индекс сортировки "REWRITE" => если параметр равен "N", то выбранный шаблон не будет перезаписывать файлы существующего в системе шаблона при совпадении идентификаторов; по умолчанию параметр равен "Y" (перезаписывать); "SELECT_STEPS" => массив, описывающий дополнительные шаги после шага Выбор шаблона Array( "SCRIPT" => путь к файлу с классами шагов относительно папки мастера "STEPS" => массив шагов, добавляемых в мастер Array( "ID шага 1" => "Имя класса шага 1", "ID шага 2" => "Имя класса шага 2", … ) ) ), "INSTALL_STEPS" => массив, описывающий дополнительные шаги после шага Установка шаблона Array( "SCRIPT" => путь к файлу с классами относительно папки мастера, "STEPS" => массив шагов, добавляемых в мастер Array( "ID шага 1" => "Имя класса шага 1", "ID шага 2" => "Имя класса шага 2", … ) ), "FILES" => массив, описывающий файлы для копирования/удаления Array( Array( "FROM" => путь к каталогу (файлу) относительно папки мастера, содержимое которого нужно скопировать, "TO" => путь к файлу или папке относительно корня сайта, куда будут скопированы файлы "REWRITE" => перезаписывать ли существующие файлы; необязательный параметр, по умолчанию равен "Y" (перезаписывать), "RECURSIVE" => копировать ли рекурсивно все подкаталоги и файлы, входящие в путь, указанный в параметре FROM; необязательный параметр, по умолчанию равен "Y" (копировать рекурсивно), "DELETE" => путь к папке (файлу), которую нужно удалить ), … ) ),