Плюшка CMS#

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

17. Особенности программирования админки

08.10.2015

1. Несмотря на очевидное отсутствие ЧПУ и подмены ссылок, всё же лучше использовать функцию core::link(), за исключением выполнения ajax-запросов. Эта функция обеспечит правильное построение ссылки. Ссылки в эту функцию должны передаваться в таком виде:

?ПАРАМЕТРЫ&ПАРАМЕТРЫ...

То есть без указания директория /admin и без index2.php. Параметры _front и _lang также добавляется автоматически. Пример:

$link=core::link('?controller=artice&action=category&id='.$this->categoryId);

2. Если страница загружена в сплывающем диалоговом окне, то поведение функции core::redirect() несколько отличается: если передан второй параметр, то во всплывающем окне будет выведен текст сообщения и через три секунды страница (не админки, а открытая в браузере страница фронтенда) будет перезагружена и реального редиректа не произойдёт. Если же сообщение не указано, то контент по новому адресу будет загружен немедленно.

Кроме того есть ещё специальная процедура core::redirectPublic(), которая выполняет редирект страницы фронтенда. Эта процедура выполнит загрузку контента по указанному URL вне зависимости от того во всплывающем окне загружена страница или нет.

Также не стоит забывать, что эти процедуры дополнительно обрабатывают запрос функцией core::link(), поэтому переданная ей ссылка должна начинаться с «?».

3. Контроллер имеет дополнительный атрибут cite — это поясняющий текст, который должен быть напечатан под формой. Суть его — дать подсказку по назначению тех или иных элементов управления. Использовать его можно так:

public function actionCategory() {
...
$this->cite='Содержимое поля Вступительный текст публикуется над списком статей.';
...
}

4. Движок автоматически формирует HTTP-заголовок LastModified, но для его работы необходимо, чтобы модули генерировали событие «modify» каждый раз, когда содержимое страницы изменяется. Обработчику события нужно передать один параметр — ссылку на страницу, содержимое которой изменилось. Этот механизм имеет существенный недостаток: при удалении каких-либо страниц ссылки на них по прежнему остаются в базе данных. Эта проблема в настоящей версии движка никак не решена.