Перейти к основному содержимому

Набор классов ControlsManager создан для автоматической регистрации полей управления виджетом (Controls). Класс принимает объект класса Base (Base Widget) и на основе константы ALPINE_WIDGET_TYPE выбирает и регистрирует требуемые поля

Для конфигурации ControlsManager используются следующие поля:

  • protected string $section_id - уникальный id секции
  • protected string $section_label - заголовок секции. Задается в конструкторе с переводом
  • protected string $tab = Controls_Manager::TAB_CONTENT - Вкладка, на которой должна выводится секция с настройками

Все зарегистрированные поля управления будут объединены в одну секцию. Если требуется разбивка на несколько секций, то требуется создать несколько классов наследующихся от ControlsManagerBase. Так сделано с классами ControlsManagerFrames и ControlsManagerFrameStyles - поля управления из этих классов находятся не только в разных секциях, но и в разных вкладках из-за того, что в ControlsManagerFrameStyles указан $tab = Controls_Manager::TAB_STYLE

Все поля управления должны быть добавлены в массив $controls в конструкторе класса. Выбор полей для регистрации зависит от константы ALPINE_WIDGET_TYPE и соответственно от характеристик виджета, но могут использоваться и другие данные, если потребуется

В классе СontrolsManager есть метод get_data, который возвращает значения всех полей управления

Controls классы

Все Controls классы, которыми управляют ControlManager'ы выполняют две функции и соответственно имеют два метода:

  • register_controls - регистрация полей управления
  • get_data - возвращение значений из этих полей

ControlsManagers

Класс, позволяющий зарегистрировать все менеджеры разом, а также получить из них все настройки с помощью метода get_data