Блог разработчика 1С-Битрикс

Работа с классом Bitrix\Main\Config\Option в Битрикс D7

Работа с классом Bitrix\Main\Config\Option в Битрикс D7

Работа с классом Bitrix\Main\Config\Option

Основные методы класса Option

Класс Bitrix\Main\Config\Option в Битрикс D7 используется для работы с настройками модулей. Он предоставляет методы для чтения, записи и удаления параметров, которые хранятся в базе данных.

Получение значения настройки

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


use Bitrix\Main\Config\Option;

// Получение значения настройки
$value = Option::get('module_id', 'option_name', 'default_value');
    

Установка значения настройки

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


use Bitrix\Main\Config\Option;

// Установка значения настройки
Option::set('module_id', 'option_name', 'value');
    

Удаление настройки

Метод delete используется для удаления настройки модуля.


use Bitrix\Main\Config\Option;

// Удаление настройки
Option::delete('module_id', array('option_name'));
    

Примеры использования

Чтение настройки


use Bitrix\Main\Config\Option;

// Чтение настройки
$siteName = Option::get('main', 'site_name', 'Default Site Name');
echo "Site Name: " . $siteName;
    

Запись настройки


use Bitrix\Main\Config\Option;

// Запись настройки
Option::set('my_module', 'my_option', 'my_value');
    

Удаление настройки


use Bitrix\Main\Config\Option;

// Удаление настройки
Option::delete('my_module', array('my_option'));
    

Работа с массивами настроек

Иногда настройки могут быть массивами. Для работы с такими настройками можно использовать функции сериализации и десериализации.

Запись массива настроек


use Bitrix\Main\Config\Option;

// Запись массива настроек
$options = array('key1' => 'value1', 'key2' => 'value2');
Option::set('my_module', 'my_array_option', serialize($options));
    

Чтение массива настроек


use Bitrix\Main\Config\Option;

// Чтение массива настроек
$options = Option::get('my_module', 'my_array_option', '');
$optionsArray = unserialize($options, ['allowed_classes' => false]);
print_r($optionsArray);
    

Дополнительные методы класса Option

Метод getDefaults

Метод getDefaults используется для получения настроек по умолчанию для модуля.


use Bitrix\Main\Config\Option;

// Получение настроек по умолчанию
$defaults = Option::getDefaults('module_id');
print_r($defaults);
    

Метод getRealValue

Метод getRealValue используется для получения "реального" значения настройки.


use Bitrix\Main\Config\Option;

// Получение реального значения настройки
$realValue = Option::getRealValue('module_id', 'option_name', 'default_value');
echo "Real Value: " . $realValue;
    

Метод getForModule

Метод getForModule используется для получения всех настроек, относящихся к определенному модулю.


use Bitrix\Main\Config\Option;

// Получение всех настроек модуля
$moduleOptions = Option::getForModule('module_id');
print_r($moduleOptions);
    

Пример использования


use Bitrix\Main\Config\Option;

// Получение настроек по умолчанию
$defaults = Option::getDefaults('my_module');
echo "Defaults: ";
print_r($defaults);

// Получение реального значения настройки
$realValue = Option::getRealValue('my_module', 'my_option', 'default_value');
echo "Real Value: " . $realValue;

// Получение всех настроек модуля
$moduleOptions = Option::getForModule('my_module');
echo "Module Options: ";
print_r($moduleOptions);
    

Заключение

Эти методы предоставляют более гибкие возможности для работы с настройками модулей в Битрикс D7. Они позволяют получать настройки по умолчанию, реальные значения настроек и полный список настроек для модуля, что делает управление конфигурацией более удобным и эффективным.

Теги: Bitrix\Main\Config\Option, Битрикс D7, работа с Option, настройка параметров, Bitrix API, программирование Битрикс, примеры Option, конфигурация Битрикс, D7 разработка, управление настройками


Валерий Макеев
09.09.2025 17:35
Этот код сохраняет значение настройки api_key для модуля my_custom_module и сразу выводит его значение.
Код
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');

use Bitrix\Main\Config\Option;

// Установка и получение значения настройки
Option::set('my_custom_module', 'api_key', 'secret_key_12345');
$apiKey = Option::get('my_custom_module', 'api_key', 'default_key');
echo "API Key: " . $apiKey;
?>

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Разработка корпоративного сайта

от 7 дней

от 40 000 рублей

Разработка сайта без системы оплаты заказов через корзину

* стоимость зависит от наличия верстки, использования готового решения и т.д.

Аутсорсинг

готов помочь, если нет времени

договорная

Могу взять на себя работы по full-stack

* на основе готовой верстки

Техническая поддержка

сайтов на CMS 1C-Битрикс

от 20 000 рублей/месяц
Оптимизация производительности действующих интернет-проектов, наполнение и сопровождение, полная техническая поддержка и продвижение в поисковых сетях.

* стоимость зависит от объема и сложности выполняемых работ