Файл описания шаблонов сайта .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" => путь к папке (файлу), которую нужно удалить ), … ) ),