Если плагин требует настроек со стороны пользователя, то поля для ввода или выбора значений настроек необходимо перечислить в конфигурационном файле плагина lib/config/settings.php
. Создание такого файла для формирования стандартного интерфейса настроек плагина описано в отдельной статье.
Формирование пользовательского интерфейса настроек
Если необходимо сформировать интерфейс настроек плагина, полностью отличный от стандартного, для этого необходимо указать в конфигурационном файле плагина plugin.php
следующий параметр:
'custom_settings' => true,
Логику формирования интерфейса настроек в этом случае необходимо разместить в публичном методе execute()
класса shop[Plugin_id]PluginSettingsAction
, унаследованного от базового класса waViewAction
и размещенного в файле lib/actions/shop[Plugin_id]PluginSettings.action.php
.
Доступ к значениям настроек
В основном классе плагина значения настроек можно получить путем вызова метода $this->getSettings()
, указав в качестве аргумента идентификатор нужного поля настроек:
$login = $this->getSettings('login');
Для поля типа GROUPBOX сохраняется массив только тех значений, которые были отмечены (выбраны пользователем). Их список можно получить, например, следующим образом:
$statuses = $this->getSettings('statuses'); $statuses = $statuses ? array_keys($statuses) : null;
Значения отдельных полей множественного поля типа CONTACT можно получить путем использования значений элементов 'value
', указанных в массиве 'options
' для этого поля:
$personal_data = $this->getSettings('personal_data'); $email = $personal_data['email'];