Страница настроек
Иногда полезно выносить какие-то настройки решения на отдельную страницу, отвлечённую от компонентов, к тому же компонентов может не быть вовсе, а всё равно надо дать возможность администратору сайта как-то влиять на работу модуля. В Битриксе довольно легко создавать страницы с параметрами для своих модулей, об этом ниже.
Что и где
Сам файл с настройками находится в папке модуля (/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" ); ?>
Примеры настроек
Множество примеров вы можете найти, посмотрев настройки любых установленных в систему модулей. Мой модуль комментариев, например, хранит там сведения об инфоблоке. Считаю правильным работать со строго установленным инфоблоком, так как для нас очень критичны некоторые служебные свойства у отдельных элементов.
Заключение
Чтобы лучше понять суть вопроса посмотрите на страницу параметров любого другого модуля, например, Главного, а также загляните в код этих страниц. Быстрый старт для новых решений уже лежит в моём репозитории.
Теперь по основам разработки модулей осталось научиться только собирать обновления.
Написать комментарий