О web-разработке
и даже немного больше...

Централизация параметров сайта в битрикс

centralizacia-parametrovСтандартное исполнение настроек компонентов на сайте образует децентрализацию параметров, что в некоторых случаях может быть весьма неудобным, особенно когда проект обретает крупные масштабы.

Проблема заключается в том, что при попытке сменить какой-либо параметр, к примеру — ID инфоблока, в ряде случаев приходиться проходить по всем файлам, где он прописывается, что весьма неудобно, и отнимает значительное время при поиске местонахождения указанного параметра.

Одним из решений этой проблемы является объединение общих ключевых параметров в одном файле. Идея хранить параметры в отдельном конфигурационном файле не новая, поэтому было решено сделать функцию, которая бы возвращала массив с параметрами из этого файла.

Для удобства хорошо прописать функцию в таком месте, откуда она была бы в зоне досягаемости, без лишних манипуляций. Подходящим местом для функции является файл init.php, так как он подключается вместе с API битрикса.
Создадим файл с параметрами, прозовем его general_settings.php, и поместим в папку includes/. Файл general_settings.php содержит переменную $arParams, которая содержит массив с вашими параметрами. Структура массива делается под ваши потребности, с учетом возможного масштабирования.

$arParams = array(
	'CATALOG' => array(
			'IBLOCK_TYPE_ID' => 'catalog',
			'IBLOCK_ID' => 5
		),
);

Затем подключаем этот файл в функции, которая будет находиться в файле /bitrix/php_interface/init.php

// функция возвращает параметры конфигурации сайта
function getSiteParams(){
	$confFile = $_SERVER['DOCUMENT_ROOT']."/includes/general_settings.php";
	if (file_exists($confFile)){
		include ($confFile);
		return $arParams;
	} else return false;
}

Таким образом, в коде мы можем использовать эту функцию для получения параметров.
Пример:

$arParams = getSiteParams();

В таком случае при смене параметров в конфигурационном файле general_settings.php изменения будет актуальны для всех частей сайта получающие параметры из данной функции.

Опубликован: 26.05.2015 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта