Исходный контроллер |
Как пояснялось ранее, когда загружается экран диспетчера компонента, первым загружается класс исходного контроллера с выполняемой по умолчанию задачей отображения. В данном случае исходным является контроллер из класса JoomproSubsController. Исходный код этого класса приведен в листинге ниже. Листинг. Класс JoomproSubsController из файла controller.php // прямой доступ отсутствует defined('_JEXEC') or die; /** * Контроллер Joomprosubs joomprosub * ©package Joomla.Administrator * ©subpackage com_joomprosubs Приведенный выше исходный код класса JoomproSubsController мало чем отличается от исходного кода класса WeblinksController, рассматривавшегося в главе 7. Этот класс расширяет класс JController. Обратите внимание на то, что в нем введено защищенное поле $default_view, в котором установлено значение "submanager". В аналогичном контроллере компонента Weblinks это поле не было определено, но именно в нем указывается имя исходного представления для административной части создаваемого компонента (в данном случае — submanager). Причина, по которой аналогичное поле не было определено для компонента Weblinks, объясняется тем, что в Joomla по умолчанию предоставляется значение, равное имени компонента за вычетом префикса сот_. Для компонента comweblinks это значение получалось равным "weblinks", что совершенно верно. Но в данном случае по умолчанию было бы предоставлено значение "j oomprosubs ", т.е. не то, что нам нужно. Поэтому имя исходного представления специально определяется в поле $defaultview. У класса JoomproSubsController имеется единственный метод display (), в котором включается вспомогательный файл. Следует заметить, что для этой цели вместо команды require_once вызывается метод JLoader: : register (). Напомним, что этот метод выполняется быстрее и считается более предпочтительным для загрузки класса. Для указания пути к папке компонента (в данном случае — administrator/components/ com_j oomprosubs) служит константа JPATH_COMPONENT, а для обращения к вспомогательному классу вызывается метод addSubmenu (). Затем из запроса получается представление, компоновка, а также идентификатор подписки. Попутно поверяется, не попытался ли пользователь перейти к форме редактирования непосредственно. И наконец, вызывается метод display () из родительского класса JController, чтобы получить требуемое представление и выполнить его.
Понравился материал? Пригодилась информация? Плюсани в социалки!
Теги:
|
Похожие новости | |
|