Логотип

Страница настроек

Иногда полезно выносить какие-то настройки решения на отдельную страницу, отвлечённую от компонентов, к тому же компонентов может не быть вовсе, а всё равно надо дать возможность администратору сайта как-то влиять на работу модуля. В Битриксе довольно легко создавать страницы с параметрами для своих модулей, об этом ниже.

Что и где

Сам файл с настройками находится в папке модуля (/bitrix/modules/{код модуля}/) под именем options.php. В панели Битрикса сама страница находится по адресу Настройки -> Настройки модулей -> {Имя модуля}.

Создание

Для создания нужно просто положить файл options.php в корень папки вашего модуля, никаких инициализаций.

Страница должна возвращать строки таблицы. Если вы посмотри на настройки других модулей, то увидите, что на этих страницах есть вкладки с различными опция. По сути это всё что нам доступно: вкладки и строки таблицы с названием поля и элементом формы для заполнения.

Пример кода options.php лежит в папке шаблона модуля на гитхабе. Ссылка.

Получение настроек на страницах сайта

Чтобы получить значение какой-либо опции из настроек вашего модуля воспользуйтесь стандартной функцией Битрикса:

COption::GetOptionString("{код модуля}", "{код опции}");

Подробнее вот здесь.

Настройки по умолчанию

Есть возможность задать каким-то опциям значения по умолчанию. Для этого создайте в корне своего модуля файл default_option.php. Он должен возвращать массив "Код_свойства" => "Значение" и называться {код_модуля}_default_option (точка в партнёрских модулях заменяется на нижнее подчёркивание).

Этот массив не влияет на файл options.php, но из него берутся значения в функции COption::GetOptionString, если сам запрашиваемый параметр не определён.

Пример

<?
$aristov_comments_default_option = array(
	"VCOMMENTS_TEST" => "42"
);
?>

Примеры настроек

Множество примеров вы можете найти, посмотрев настройки любых установленных в систему модулей. Мой модуль комментариев, например, хранит там сведения об инфоблоке. Считаю правильным работать со строго установленным инфоблоком, так как для нас очень критичны некоторые служебные свойства у отдельных элементов.

Заключение

Чтобы лучше понять суть вопроса посмотрите на страницу параметров любого другого модуля, например, Главного, а также загляните в код этих страниц. Быстрый старт для новых решений уже лежит в моём репозитории.

Теперь по основам разработки модулей осталось научиться только собирать обновления.

Написать комментарий

Внимание!

Этот сайт использует технологию "cookies" и интернет-сервисы для сбора технических данных!

Условия использования и другие юридические моменты можно найти в пользовательском соглашении и в политике конфиденциальности.

Цель - получение статистической информации и возможность работы множества сервисов на страницах сайта и самого сайта.

Если Вы не согласны на обработку данных на указанных выше условиях, покиньте сайт.