Свой интерфейс настроек плагина

Нестандартный интерфейс настроек плагина на примере приложения Shop-Script

Содержание...

Если плагин требует настроек со стороны пользователя, то поля для ввода или выбора значений настроек необходимо перечислить в конфигурационном файле плагина 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'];