О web-разработке
и даже немного больше...

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

настройка-параметровБитрикс является модульной системой, и в зависимости от редакции может содержать различный набор модулей для работы. Каждый модуль имеет свой набор параметров, некоторые из них хранятся в базе данных. Управление параметрами модулей осуществляется в административном интерфейсе, в настройках соответствующего модуля.
Кроме всего этого, воздействовать на параметры модулей можно посредством API битрикса. Для работы с параметрами модулей, хранимых в базе данных, существует класс COption. Данный класс содержит набор методов, для взаимодействия с параметрами модулей. К примеру, мы можем получить некоторые параметры либо изменить их.

Список методов класса COption:

  • GetOptionString — Возвращает строковое значение параметра.
  • SetOptionString — Устанавливает строковое значение параметра.
  • GetOptionInt — Возвращает числовое значение параметра.
  • SetOptionInt — Устанавливает числовое значение параметра.
  • RemoveOption — Удаляет параметр из базы.

Давайте попробуем получить/задать некоторые параметры, хранимые в базе. Для примера мы возьмем пару настроек, из параметров отображения captcha.

В административной части сайта параметры капчи находятся тут:
Настройки > Настройки продукта > CAPTCHA

Мы же попробуем воздействовать на параметры из кода. Итак, допустим известны два параметра, которые мне нужно получить:
CAPTCHA_arTextColor_1 — Нижняя граница случайного цвета шрифта;
CAPTCHA_arTextColor_2 — Верхняя граница случайного цвета шрифта;

Так как значения этих параметров имеет строковый тип, запрос будет осуществляться с помощью метода GetOptionString. Посмотрим, как с методом обращаться.

Синтаксис:

string
COption::GetOptionString(
 string module_id,
 string name,
 mixed def = false,
 string site = false,
 bool ExactSite=false
)

Метод возвращает строковое значение параметра option_id, принадлежащего модулю module_id.
Если не установлен параметр site_id, то делается попытка найти числовой параметр option_id, принадлежащий модулю module_id для текущего сайта. Если такого параметра нет, возвращается параметр, общий для всех сайтов.

module_id — Идентификатор модуля.
name — Идентификатор параметра.
def — Значение по умолчанию. Если default_value не задан, то значение для default_value будет браться из массива с именем ${module_id.»_default_option»} заданного в файле /bitrix/modules/module_id/default_option.php.
site (с версии 5.0.6)- Идентификатор сайта, для которого будут возвращены параметры. Необязательный. По умолчанию — false (для текущего сайта или если не установлены, то общие для всех сайтов).
ExactSite (с версии 10.0.11) – Необязательный параметр, по умолчанию «false».
 

Получаем строковые параметры:

COption::GetOptionString("main", "CAPTCHA_arTextColor_1", "000000");
COption::GetOptionString("main", "CAPTCHA_arTextColor_2", "646464");

Всё довольно просто, теперь давайте попробуем задать значения этих параметров с помощью метода SetOptionString.
Синтаксис:

bool COption::SetOptionString(
 string module_id,
 string name,
 string value = "",
 mixed desc = false,
 string site = ""
)

Метод устанавливает строковое значение параметра option_id для модуля module_id. Если указан site_id, параметр установится только для этого сайта, и не будет влиять на аналогичный параметр другого сайта. Возвращает true, если операция прошла успешно, в противном случае — false.

module_id — Идентификатор модуля. Длина не более 50 символов.
name — Идентификатор параметра. Длина не более 50 символов.
value — Значение параметра. Необязательный. По умолчанию — «». Максимальная сохраняемая длина значения — 2000 символов.
desc — Описание параметра. Необязательный. По умолчанию — «false» (описание отсутствует). Начиная с версии 14.0.0 не используется.
site — Идентификатор сайта, для которого устанавливается параметр. Необязательный. Если установлен false, то будет текущий сайт (с версии 14.0).
 

Установка строковых параметров:

COption::SetOptionString("main", "CAPTCHA_arTextColor_1", "cccccc");
COption::SetOptionString("main", "CAPTCHA_arTextColor_2", "cccccc");

На этом пока всё. Более подробно о методах класса вы можете посмотреть информацию в документации по работе API битрикса.

Опубликован: 04.06.2015 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта