Skip to content

Controls классы

This content is not available in your language yet.

Набор классов 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 классы, которыми управляют ControlManager’ы выполняют две функции и соответственно имеют два метода:

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

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