IT-Service-WordPress / WPF

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

Страница настроек плагина #18

Closed sergey-s-betke closed 10 years ago

sergey-s-betke commented 10 years ago

http://codex.wordpress.org/Settings_API

sergey-s-betke commented 10 years ago

Итак... Различаем объекты опции (option) и настройки (setting). Последние - определяем в admin-part, и связываем с опциями исключительно через идентификаторы. И именно в последних мы должны определить и санитизаторы, и представление (view) для этих настроек на странице настроек.

Но и сам объект страницы настроек мы должны объявить явно.

sergey-s-betke commented 10 years ago

Для страниц настроек так же необходимо определить и части страниц, которые могут быть подгружены отдельно (из отдельных файлов, разделяемых несколькими плагинами, в частности - для целей редактирования "общих" опций (#24)).

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

sergey-s-betke commented 10 years ago

Реализовал #20.

sergey-s-betke commented 10 years ago

Теперь пора приступать к отображению и редактированию опций...

sergey-s-betke commented 10 years ago

Для того, чтобы связать опции с их представлением потребуется построить коллекцию опций в объекте плагина по аналогии с коллекцией компонентов.

В конструктор представления будем передавать идентификатор опции - option_name. Связь представления и опций - через экземпляр плагина.

Но для этих целей имеет смысл создать потомка плагина - плагин с опциями (потому как есть плагины и без опций). И в компонентах - опциях стоит в таком случае проверять, а реализует ли плагин интерфейсы управления опциями (в degug среде).

sergey-s-betke commented 10 years ago

Секции страниц параметров следует связывать с объектом страницы параметров через конструктор (в конструктор страницы передавать объекты секций).

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

В свою очередь, в конструкторе секции страницы настроек необходимо предусмотреть возможность указать идентификатор страницы настроек, на которой эта секция должна быть отображена (для тех случаев, когда мы реализуем в плагине раздел существующей страницы настроек, а не собственной (плагина)).

sergey-s-betke commented 10 years ago

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

sergey-s-betke commented 10 years ago

Реализовал #19 для напоминания после установки плагина о необходимости проверки его параметров.

sergey-s-betke commented 10 years ago

Пришло время добавить визуальные элементы в секции страниц настроек.

Для этого необходимо кроме собственно классов и интерфейсов отображений создать и API валидаторов полученных значений.

Описанную задачу выделилив #26, эту задачу закрываю.