Файл описания шаблонов сайта .templates.php
Файл .templates.php определяет шаги Выбор группы шаблонов, Выбор шаблона и Установка шаблона в цепочке шагов мастера создания сайта. Если в папке мастера нет файла .templates.php, то шаги Выбор группы шаблонов, Выбор шаблона и Установка шаблона отсутствуют. Группа шаблонов предоставляет возможность сгруппировать шаблоны сайта, например, по тематике или компоновке (layout).
В файле .templates.php описываются шаблоны, находящиеся в поддиректории templates папки мастера. В поддиректории templates должны находиться папки шаблонов сайта. Данные (название, описание, скриншоты шаблонов сайта) для шага Выбор шаблона берутся из файлов (description.php, screen.gif и preview.gif), находящихся в папке шаблона.
Если в поддиректории templates есть шаблоны сайтов, а файл .templates.php отсутствует, то шаги Выбор шаблона и Установка шаблона все равно добавятся в цепочку шагов мастера создания сайта.
Структура типичного файла .templates.php такова:
<?В файле .templates.php определяется массив $arWizardTemplates, имеющий следующие ключи:
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",
),
),
);
?>
- "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" => путь к папке (файлу), которую нужно удалить
),
…
)
),