IT-Service-WordPress / WPF

Шаблон плагина для WordPress (CMS)
GNU General Public License v2.0
0 stars 0 forks source link

Реализовать базовый визуальный элемент - текстовую строку ввода #26

Closed sergey-s-betke closed 10 years ago

sergey-s-betke commented 10 years ago

С простейшим валидатором - всё допустимо (он должен применяться по умолчанию, если иной не указан).

В рамках данной же задачи необходимо отладить и сохранение значений опций в результате изменений на странице опций.

sergey-s-betke commented 10 years ago

Никаких "внешних" и "разделяемых" визуальных элементов и планировать не буду. Все экземпляры их должны быть явно переданы в конструктор секции, иных вариантов и не рассматриваю.

sergey-s-betke commented 10 years ago

Кстати - секции необходимо разделить по типам - Base, VGroup (последняя - с табличной разметкой для меток и элементов управления, первая - без табличной разметки). - #27

sergey-s-betke commented 10 years ago

Теперь необходимо связать опцию (объект опции) с её элементов управления на странице настроек.

sergey-s-betke commented 10 years ago

Всё-таки, будет правильным дать элементам управления доступ к опциям.

Сейчас у меня элементы управления не имеют доступа ни к секции, ни к странице настроек, ни к плагину.

Работать с опциями целесообразно через плагин, он у нас играет некую роль точки интерфейса. Опять-таки, необходимо "позднее" связывание визуальных элементов (элементов управления) и плагина / его опций. Кроме того, целесообразно связывание проводить непосредственно перед генерацией страницы / секции.

Секция у нас имеет связь с плагином. Посему напрашивается решение возложить обязанность по позднему связыванию элементов управления с плагином / страницей / секцией на объект секции. Необходимо только корректно подобрать момент для этого.

Чтобы избежать пустой траты процессорного времени, предлагаю связывание выполнять непосредственно перед генерацией страницы. Правда - в этом случае мы не сможем выдать предупреждений (admin notice), они уже сформированы и отправлены.

Остановимся пока на варианте связывания перед генерацией страницы настроек.

sergey-s-betke commented 10 years ago
sergey-s-betke commented 10 years ago

Итак... От идеи излишней инкапсуляции доступа к option я предлагаю отказаться. Да, создание и удаление при деинсталляции - всё оставляем, но и от доступа через get_option нет смысла отказываться.

Итого, меняем пространство имён с Option на Setting. Базовый класс - будет именно Option. От него наследуем Setting. А от него уже - PluginSetting. Именно класс Setting будет отвечать за 2 первых API из списка, приведённого выше.

sergey-s-betke commented 10 years ago

Оставшиеся API использовать необходимо в валидаторах. Поэтому пора приступать к валидаторам - #28.