Блог разработчика 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-Битрикс

Лечение сайтов от вирусов

восстановление сайта и подъем версии PHP

от 25 000 рублей
Лечение сайтов на решениях АСПРО и прочих.

* полный комплекс лечения проекта и закрытия дыр

Перенос сайтов на «1С-Битрикс»

сайты на платформе «1С-Битрикс» — это удобство, надежность и высокая посещаемость

от 12 000 рублей
Перенос сайтов с любых CMS и статичных страниц на платформу «1С-Битрикс», с учетом дизайна, верстки и урл-адресов. С сохранением всей информации и структуры сайта.

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

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

выполняется с сайтами на основе любых CMS

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

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