Плюшка CMS#

/* Создан для быстрой разработки приложений */
Скачать Демо

14.1. Типичный цикл обработки запроса администратора

16.10.2015

В большинстве случаев админка работает по такому принципу:

Пользователь, наделённый правами администрирования сайта, нажимает ту или иную кнопку административного интерфейса, что приводит к загрузке во всплывающий фрейм контента по такой ссылке:

/index2.php?controller=ИМЯ_КОНТРОЛЛЕРА&action=ИМЯ_ДЕЙСТВИЯ&ДРУГИЕ_ПАРАМЕТРЫ&_front&_lang=ПСЕВДОНИМ_ЯЗЫКА.

Действие контроллера, в свою очередь, создаёт экземпляр класса form (вызывая функцию core::form() ) и динамически создаёт все необходимые поля HTML-формы. При этом в форму подставляются данные соответствующего редактируемого элемента используя ДРУГИЕ_ПАРАМЕТРЫ (например это может быть идентификатор редактируемой записи). Для мультиязычных элементов нужно использовать константу _LANG. Далее процедура контроллера возвращает экземпляр класса этой формы. Движок запускает рендеринг HTML-формы, которую пользователь видит в диалоговом окне.

После внесения изменений в эту форму и нажатия кнопки submit, запускается submit-действие (специальный метод контроллера), в котором создаётся экземпляр класса model (через вызов core::model('имя_таблицы'); ). В эту модель передаются данные формы (из $_POST), затем динамически задаются правила валидации данных формы и вызывается метод save(), который сохраняет запись в базе данных, выполняя SQL-запрос INSERT или UPDATE.

Если валидация данных была не успешной, то выполнение процедуры прерывается (модель model самостоятельно устанавливает описание ошибки используя заданные правила валидации). Если же валидация и сохранение данных прошли успешно, то в submit-действии выполняется редирект и выводится сообщение об успешно выполненной операции.

Намного реже вместо динамически создаваемых моделей (form и model) используются статические модели, унаследованные от этих двух классов.