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

Файл описания сервисов сайта .services.php

Файл .services.php определяет шаги Выбор сервисов и Установка сервисов в цепочке шагов мастера создания сайта. Если в папке мастера нет файла .services.php, то шаги Выбор сервисов и Установка сервисов отсутствуют. Под сервисом понимается совокупность программных модулей (публичных файлов, компонентов, данных), направленных на реализацию конкретного функционала сайта. Примерами сервисов могут быть доска объявлений, фотогалерея, каталог ссылок, каталог товаров, новости, форум и т.п.

Структура типичного файла .services.php такова:

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$arWizardServices = Array(
	"news" => Array(
		"NAME" => "Новости",
		"DESCRIPTON" => "Новости с поиском, рсс и разделами",
		"SITE_ID" => Array("blog","homepage"),
		"ICON" => "images/icon.gif",
		"FORM" => Array(
			"TYPE" => "radio",
			"DEFAULT" => "Y",
		),
		"INSTALL_STEPS" => Array(
			"SCRIPT" => "scripts/news.php",
			"STEPS" => Array(
				"newsstep1" => "NewsStep1",
				"newsstep2" => "NewsStep2",
				"newsstep3" => "NewsStep3",
			)
		),
		"FILES" => Array(
			Array("DELETE" => "/folder"),
			Array("FROM" => "files/blog_site", "TO" => "/myblog"),
		)
	),
	"forum" => Array(
		"NAME" => "Форум",
		"ICON" => "images/icon2.gif",
		"FORM" => Array(
			"TYPE" => "radio",
		),
		"DESCRIPTON" => "Новости с поиском, рсс и разделами",
		"SITE_ID" => Array("blog","homepage"),
		"DEFAULT" => "Y",
		"FILES" => Array(
			Array("FROM" => "news/components", "TO" => "/bitrix/components"),
			Array("FROM" => "news/public", "TO" => "/news")
		)
	),
	"articles" => Array(
		"NAME" => "Статьи",
		"DESCRIPTON" => "Статьи",
		"SITE_ID" => Array("blog","homepage"),
		"SELECT_STEPS" => Array(
			"SCRIPT" => "scripts/articles.php",
			"STEPS" => Array(
				"article1" => "ArticleStep1",
				"article2" => "ArticleStep2",
			)
		)
	),
	"foto" => Array(
		"NAME" => GetMessage("SERVICE_FOTO"),
		"FORM" => Array(
			"TYPE" => "checkbox",
			"DEFAULT" => "Y",
		),
		"DESCRIPTON" => "Красивая фотогалерея на вашем сайте",
		"SITE_ID" => Array("blog","homepage"),
	),
	"blog_components" => Array(
		"NAME" => "Компоненты Блога",
		"SITE_ID" => "blog",
		"DESCRIPTON" => "Компоненты Блога",
		"FORM" => Array(
			"TYPE" => "checkbox",
			"DEFAULT" => "Y",
		),
	),
	"homepage_components" => Array(
		"NAME" => "Компоненты дом. странички",
		"SITE_ID" => "homepage",
		"FORM" => Array(
			"DEFAULT" => "Y",
			"TYPE" => "checkbox"
		),
		"DESCRIPTON" => "Компоненты дом. странички",
	),
);
?>

В файле .services.php определяется массив $arWizardServices, состоящий из элементов следующего вида:

"ID сервиса" => Array(
	"NAME" => имя сервиса,
	"DESCRIPTON" => описание сервиса,
	"ICON" => иконка сервиса, путь к файлу относительно папки мастера,
	"SITE_ID" => ID сайта, к которому принадлежит сервис (одиночное значение или массив)
	"FORM" => массив, описывающий вид элемента Web-формы
	Array(
		"TYPE" => тип элемента Web-формы. Допустимые значения "radio" (переключатель), 
		"checkbox" (флажок) и "required" (обязателен для установки). 
		По умолчанию равен "checkbox" (флажок),                                                 
		"DEFAULT" => если равно "Y", данный сервис будет выбран по умолчанию,
		"GROUP" => ID группы, к которой принадлежит элемент Web-формы. 
		Применяется для группировки переключателей (radio) Web-формы.
   ),
	"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