Как работать с таблицей b_option в административном скрипте модуля в 1С-Битрикс
Здравствуйте уважаемые коллеги.
Столкнулся с такой проблемой. Разрабатываю модуль, работа в котором ведется с таблицей b_option через методы класса Option::set(), Option::get().
Использовал для сохранения и вывода функции __AdmSettingsDrawRow($MODULE_ID, $option) и __AdmSettingsSaveOptions($MODULE_ID, $aTab['OPTIONS']). Это все внутри модуля в файле options.php.
Возникла необходимость вынести настройки в административный скрипт. Данные функции там перестали работать.
Вопрос: как их заставить работать и, если это не возможно, как внутри скрипта работать с настройками, если они у меня, как и описано везде в документации, описаны в массиве:
$aTabs = array(
array(
'DIV' => 'my_options',
'TAB' => Loc::getMessage("MAIN_TAB_SET"),
'TITLE' => Loc::getMessage("MAIN_TAB_TITLE_SET"),
'OPTIONS' => array(
"Основные настройки",
array('address',
Loc::getMessage("REFERENCES_ADDRESS"),
Option::get(ADMIN_MODULE_NAME, "ADDRESS"),
array('text', 30),
),
array('phone',
Loc::getMessage("REFERENCES_PHONE"),
Option::get(ADMIN_MODULE_NAME, "PHONE"),
array('text', 30),
),
array('email',
Loc::getMessage("REFERENCES_EMAIL"),
Option::get(ADMIN_MODULE_NAME, "EMAIL"),
array('text', 30),
),
array('copyright',
Loc::getMessage("REFERENCES_COPYRIGHT"),
Option::get(ADMIN_MODULE_NAME, "COPYRIGHT"),
array('text', 30),
),
array('logo',
Loc::getMessage("REFERENCES_LOGO"),
Option::get(ADMIN_MODULE_NAME, "LOGO"),
array('file'),
),
array('delete_logo',
Loc::getMessage("REFERENCES_LOGO_DELETE"),
"N",
array('checkbox'),
),
"Ссылки на социальные сети",
array('note' => 'Укажите ссылки на сообщества магазина в социальных сетях.'),
array('viber_link',
Loc::getMessage('REFERENCES_VIBER_LINK'),
Option::get(ADMIN_MODULE_NAME, "VIBER_LINK"),
array('text', 30),
),
array('skype_link',
Loc::getMessage('REFERENCES_SKYPE_LINK'),
Option::get(ADMIN_MODULE_NAME, "SKYPE_LINK"),
array('text', 30),
),
array('telegram_link',
Loc::getMessage('REFERENCES_TELEGRAM_LINK'),
Option::get(ADMIN_MODULE_NAME, "TELEGRAM_LINK"),
array('text', 30),
),
array('telegram_link',
Loc::getMessage('REFERENCES_BEHANCE_LINK'),
Option::get(ADMIN_MODULE_NAME, "BEHANCE_LINK"),
array('text', 30),
),
array('vk_link',
Loc::getMessage('REFERENCES_VK_LINK'),
Option::get(ADMIN_MODULE_NAME, "VK_LINK"),
array('text', 30),
),
array('instagram_link',
Loc::getMessage('REFERENCES_INSTAGRAM_LINK'),
Option::get(ADMIN_MODULE_NAME, "INSTAGRAM_LINK"),
array('text', 30),
),
array('note' => 'Для WhatsApp укажите номер телефона и сообщение, которое будет автоматически подставляться при отправке первого сообщения.'),
array('whatsapp_number',
Loc::getMessage('REFERENCES_WHATSAPP_NUMBER'),
Option::get(ADMIN_MODULE_NAME, "WHATSAPP_NUMBER"),
array('text', 30),
),
array('whatsapp_message',
Loc::getMessage('REFERENCES_WHATSAPP_MESSAGE'),
Option::get(ADMIN_MODULE_NAME, "WHATSAPP_MESSAGE"),
array('text', 30),
),
array('twitter_link',
Loc::getMessage('REFERENCES_TWITTER_LINK'),
Option::get(ADMIN_MODULE_NAME, "TWITTER_LINK"),
array('text', 30),
),
array('facebook_link',
Loc::getMessage('REFERENCES_FACEBOOK_LINK'),
Option::get(ADMIN_MODULE_NAME, "FACEBOOK_LINK"),
array('text', 30),
),
)
),
array(
'DIV' => 'general',
'TAB' => "Главная",
'TITLE' => "Главная",
'OPTIONS' => array(
array('note' => 'Выберите блоки, которые будут отображаться на главной.'),
array('advantage_block',
Loc::getMessage("REFERENCES_ADVANTAGE_BLOCK"),
null,
array('checkbox'),
),
array('sections_catalog_block',
Loc::getMessage("REFERENCES_SECTIONS_CATALOG_BLOCK"),
null,
array('checkbox'),
),
array('elements_catalog_block',
Loc::getMessage("REFERENCES_ELEMENTS_CATALOG_BLOCK"),
null,
array('checkbox'),
),
array('sales_block',
Loc::getMessage("REFERENCES_SALES_BLOCK"),
null,
array('checkbox'),
),
array('articles_block',
Loc::getMessage("REFERENCES_ARTICLES_BLOCK"),
null,
array('checkbox'),
),
array('about_block',
Loc::getMessage("REFERENCES_ABOUT_BLOCK"),
null,
array('checkbox'),
),
array('brands_block',
Loc::getMessage("REFERENCES_BRANDS_BLOCK"),
null,
array('checkbox'),
),
array('instagram_block',
Loc::getMessage("REFERENCES_INSTAGRAM_BLOCK"),
null,
array('checkbox'),
),
)
)
);