Контроллеры: различия между версиями

Материал из GLENN CMS WIKI
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 31: Строка 31:
При инициализации контроллера его конструктор автоматически запускает методы  
При инициализации контроллера его конструктор автоматически запускает методы  


  initController()
  initController() - можно использовать для инициализации различных необходимых в работе переменных
  initModel() - служит для инициализации [[Модель|моделей]]
  initModel() - служит для инициализации [[Модель|моделей]]

Версия от 20:58, 12 февраля 2013

Контроллеры это функциональные части плагина.

Контроллер должен хранится в папке плагина /controllers

Контроллер должен обязательно называться <Имя контроллера>Controller.php т.е. в случае контроллера user имя файла должно выглядеть как UserController.php

Контроллер должен быть отнаследован от класса SiteBaseController

Название контроллера в коде должно формироваться из имени плагина + имени контроллера т.е. если мы создаём контроллер UserController в плагине Contragents, то наш контролер должен называться как

Contragents_UserController

<?php
class Contragents_UserController extends SiteBaseController {
}
?>


Переменные доступные внутри контроллера

$this->view - ссылка на объект SMARTY

$this->config - ссылка на конфиг

$this->user_data - хранилище пользовательских данные, аналог $_SESSION только представлена в объектном виде. т.е. к свойствам мы обращаемся как к $this->user_data->id


Инициализация контроллера

При инициализации контроллера его конструктор автоматически запускает методы

initController() - можно использовать для инициализации различных необходимых в работе переменных 
initModel() - служит для инициализации моделей