Документация InstantCMS

для администраторов и разработчиков

Инструменты пользователя

Инструменты сайта


dev:controllers:backend:controller

Контроллер админки

Если компонент имеет настройки в Панели управления InstantCMS, ему необходим контроллер админки.

Контроллер располагается в файле /system/controllers/{название компонента}/backend.php.

Внутри файла определяется класс backend{НазваниеКомпонента}, наследуемый от системного класса cmsBackend. Пример для компонента example:

class backendExample extends cmsBackend { }

Обратите внимание, если в контроллере есть знак подчеркивания (_), то название класса должно выглядеть так, пример для компонента my_example:

class backendMy_example extends cmsBackend { }

Действия контроллера

Внутри класса контроллера могут быть определены действия (actions). Обращение к действиям происходит через URL: /admin/controllers/edit/компонент/действие. Например, определим действие hello в админке компонента example:

class backendExample extends cmsBackend { 
 
	public function actionHello(){
		echo 'Hello world';	
	}
 
}

Обратиться к этому действию можно будет по адресу: http://site/admin/controllers/edit/example/hello

Доступ к данному URL будут иметь только администраторы.

Действия могут иметь входящие параметры, аналогично действиям фронтенда.

Индексное действие

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

Действия во внешних файлах

Так же, как и фронтенд, админка может иметь действия, определенные во внешних файлах. Эти файлы должны находиться в папке /system/controllers/{название компонента}/backend/actions. В остальном их описание и работа идентична тому, как это происходит в фронтенде.

Предопределенные действия

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


Вернуться к оглавлению

dev/controllers/backend/controller.txt · Последнее изменение: 16.01.2016 23:12 — fuze