Документация для разработчиков
Темная тема

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


© «Битрикс», 2001-2024, «1С-Битрикс», 2024