В предыдущих статьях мы начали создавать компонент под названием “Hello World”. В статье “Создание расширения для CMS Joomla 1.7. Введение.” мы рассмотрели основные типы расширений. И уже в посту “Создание расширения для CMS Joomla 1.7. Часть 1” мы создали наш первый компонент, который не несет никакой функциональной нагрузки, но который нам дал хорошее представление о структуре расширения для CMS Joomla. А вот в следующем материале мы уже начали создавать контроллер, применив класс JController. Вот об этом классе мы с Вами дальше и поговорим. Да, я понимаю, что это нудно и статья - это в основном перевод официальной документации, но что делать дальше без базовых знаний про класс JController двигаться нельзя. Да и создавать расширения для CMS Joomla без класса JController у нас не получиться. Так, что вперед за новыми знаниями...
Класс JController является подклассом JObject и представляет такие базовые функции как отображение шаблонов.
Прямые потомки данного класса:
JControllerForm - специальный контроллер для работы с формами в административной части сайта.
JControllerAdmin - базовый класс для контроллеров администратора Joomla.
Переменные:
Методы:
string $task: начение ACO раздела для проверки авторизации
string $name: название модели.
string $prefix: дополниетельный префикс модели
array $config: массив конфигурации для модели
string $name: имя представления
string $prefix: дополнительный префикс представления
string $type: тип представления
boolean $cachable: если истино, то выходные данные будут храниться в кеше
array $urlparams: Массив безопасных параметров URL и их типы переменных
string $task: задача на выполнение
string $prefix: префикс для контроллера
string $name: имя модели
string $prefix: префикс класса
array $config: массив конфигурации для модели
string $name: имя представления
string $context: Контекст для хранения сессии.
integer $id: индентификатор записи для добавления в список редактирования
Класс JController является подклассом JObject и представляет такие базовые функции как отображение шаблонов.
Прямые потомки данного класса:
JControllerForm - специальный контроллер для работы с формами в административной части сайта.
JControllerAdmin - базовый класс для контроллеров администратора Joomla.
Переменные:
- string $basePath - базовый путь контроллера
- string $default_view - по умолчанию для метода отображения
- string $doTask - отображается задача, которая была выполнена
- string $message - перенаправление сообщения
- string $messageType - перенаправление типа сообщения
- array $methods - массив методов класса
- string $model_prefix - префикс для модели
- array $name - массив имен контроллеров
- array $paths - набор путей для поиска представлений
- string $redirect - URL для перенаправления
- string $task - текущая или последняя выполненная задача
- array $taskMap - массив методов класса из задачи
- string $_acoSection - ACO раздел для контроллера
- string $_acoSectionValue - по умолчанию значение ACO раздела для контроллера
Методы:
- Constructor __construct
array $config: Дополнительный ассоциативный массив параметров конфигурации, включает в себя 'name', 'default_task', 'model_path', and 'view_path'
- addModelPath - Добавляет к стеку модели пути для LIFO.
mixed $path: каталог или список каталогов для добавления
string $prefix: префикс для модели
- addPath - Добавляет пути поиска шаблонов и ресурсов.
string $type: тип пути (например “model” или “view”)
mixed $path: путь к каталогу или пути к каталогам
- addViewPath - добавляет один или несколько путей для LIFO
mixed $path: каталог строка или каталоги массив
- authorise - проверка авторизации
string $task: значение ACO раздела для проверки авторизации
- authorize - проверка авторизации
string $task: начение ACO раздела для проверки авторизации
- checkEditId - Метод проверки, является ли идентификатор в списке редактирования.
string $context: контекст для хранения сессии
integer $id: индентификатор записи
- createFileName - создает файл для ресурса
string $type: тип ресурса для создания файла
array $parts: ассоциативный массив для
- createModel - метод для загрузки и возвращения объектов модели
string $name: название модели.
string $prefix: дополниетельный префикс модели
array $config: массив конфигурации для модели
- createView - Метод для загрузки и возвращения отображения. Этот метод сначала ищет в текущем каталоге шаблона для отображения и, если не находит, то используется путь по умолчанию.
string $name: имя представления
string $prefix: дополнительный префикс представления
string $type: тип представления
array $config: массив конфигурации для представления
- display - Типичный метод представления для MVC архитектуры
boolean $cachable: если истино, то выходные данные будут храниться в кеше
array $urlparams: Массив безопасных параметров URL и их типы переменных
- execute - Выполние задачи,, вызывая метод в производном классе.
string $task: задача на выполнение
- getInstance - Метод для получения статического экземпляра контроллера.
string $prefix: префикс для контроллера
array $config: массив дополнительных опция для конструктора
- getModel - Метод для получения модели объекта, загружая его в случае необходимости.
string $name: имя модели
string $prefix: префикс класса
array $config: массив конфигурации для модели
- getName - метод для получения имени контроллера
- getTask - получает массив доступных задач в контроллере
- getView - Метод для получения ссылки на текущее отображение и загружает его, если необходимо.
string $name: имя представления
string $type: тип представления
string $prefix: префикс класса
array $config: массив конфигурации для представления
- holdEditId - Метод для того, чтобы добавить запись с ID в список редактирования.
string $context: Контекст для хранения сессии.
integer $id: индентификатор записи для добавления в список редактирования
- redirect - перенаправление или возвращает ложь, если перенаправление не установлено
- registerDefaultTask - регистрация задачи по умолчанию
string $method: Название метода в производном классе для выполнения, если названной задачи не найдено.
string $context: контекст для хранения сессии
integer $id: Идентификатор записи для добавления в список редактирования.
string $text: сообщение для отображения
string $type: новый набор путей поиска.
string $task: задача
- registerTask - регистрация задачи метода в классе
string $task: задача
string $method: Имя метода в производном классе для выполнения этой задачи.
- releaseEditId - Метод проверки, является ли идентификатор в списке редактирования.
string $context: контекст для хранения сессии
integer $id: Идентификатор записи для добавления в список редактирования.
- setAccessControl - устанавливает уровни контроля доступа
string $section: Раздел ACO (например, компонент).
string $value: Значение ACO раздел (если используется постоянная величина).
- setMessage - Устанавливает внутреннее сообщение, которое передается с перенаправлением
string $text: сообщение для отображения
string $type: тип сообщения
- setPath - устанавливает массив путей поиска ресурсов
string $type: новый набор путей поиска.
- setRedirect - устанавливает URL для переадресации браузера
string $msg: Сообщение для отображения при перенаправлении.
string $type: тип сообщения
- unregisterTask - отменяет задачу в классе
string $task: задача
Вот мы и рассмотрели базовый класс JController, который так необходим для создания расширений для CMS Joomla. Статья получилась нудной, я это знаю, за что и приношу свои извинения. И многие моменты сейчас будут нам непонятны, но дальше, когда мы будем наращивать функционал нашего компонента все встанет по своим местам и Вы поймете, что не все так сложно и запутано.
Если у Вас есть дополнения и замечания к переводу пишите в комментариях мы обязательно это обсудим.
В следующем посте мы с Вами поговорим о еще одном базовом классе, необходимым для создания расширений для CMS Joomla, JView.
Если у Вас есть дополнения и замечания к переводу пишите в комментариях мы обязательно это обсудим.
В следующем посте мы с Вами поговорим о еще одном базовом классе, необходимым для создания расширений для CMS Joomla, JView.
0 коммент.:
Отправить комментарий