Модуль позволяет создать собственные настройки для сайта, которые позже можно использовать в скриптах сайта.
Основная специфика модуля в том, что имеется возможность указать гораздо больше настроек для параметра, чем это допускают штатные настройки параметров.
Помимо расширенных настроек для параметров, их также можно распределить по разделам для лучшего удобства работы с ними.
Главная задача, которую решили с помощью модуля - максимально ушли от использования констант и/или часто используемых переменных в коде.
Например, добавляем параметр режима работы магазина, прописываем получение параметра в нужном шаблоне сайта, а далее, при необходимости, администратор сможет самостоятельно, через админ раздел менять значение параметра. Без необходимости постоянно править код шаблона.
Основные возможности:
1. Размещение параметров по разделам меню.
2. Задать тип значения параметра.
3. Указать зависимость от языка, модуля, сайта, группы пользователя.
4. Запретить переписывать значение параметра в ходе отработки скриптов.
5. Логирование в Журнал событий действий связанных с параметрами.
6. При возврате значений модуль приводит значение параметра к указанному типу.
7. В случае возникновения ошибок в процессе получения значения, все ошибки будут залогированы в системный файл лога, обычно это __bx_log.log
8. Кеширование данных модуля производится штатными функциями платформы.
9. Время кеширования данных таблицы можно регулировать штатными средствами, с помощью файла /bitrix/.settings.php , через массив cache_flags.
Особенности:
1. Модуль устанавливается в глобальное меню - Расширения.
2. Все настройки можно выполнять только из-под пользователя с правами администратора.
3. Минимальная версия PHP >= 7.4 (согласно требованиям платформы).
Основные программные данные:
// Подключение модуля
\Bitrix\Main\Loader::includeModule('native.settings');
// Получение значения параметра с именем parameter-1.
// В случае отсутствия значения для параметра или невозможности отработки условий - будет возвращено N.
$value = \Native\Settings\Option::get('parameter-1', 'N');
// На время отработки скрипта, если параметр не только для чтения - будет установлено значение Y
\Native\Settings\Option::set('parameter-1', 'Y');
// Выборка данных по параметрам
\Native\Settings\Option::getList(['select' => ['*'], 'filter' => []]);
// Список доступных полей параметра
\Native\Settings\OptionTable::getMap();
// Добавление параметра
\Native\Settings\Option::add($data);
// Обновление параметра
\Native\Settings\Option::update($primary, $data);
// Удаление параметра
\Native\Settings\Option::delete($primary);
// Типы значений параметров
\Native\Settings\Option::getValueTypes();
// Константы типов значений параметров
\Native\Settings\Option::VALUE_TYPE_STRING;
\Native\Settings\Option::VALUE_TYPE_NUMBER;
\Native\Settings\Option::VALUE_TYPE_ARRAY;
\Native\Settings\Option::VALUE_TYPE_JSON;
\Native\Settings\Option::VALUE_TYPE_DATE;
\Native\Settings\Option::VALUE_TYPE_DATE_TIME;
Для тестирования работы модуля, вы можете использовать официальную виртуальную лабораторию 1С-Битрикс. Перейти к лаборатории.
Чего бы вам хотелось видеть в модуле, его функциональности?