Страница 219 из 275 // импортирование базового контроллера require_once (JPATH_COMPONENT.DS.'controller.php'); // создание собственного контроллера $controller = new AutoController(); // проверка наличия параметров запроса $controller->execute(JRequest::getCmd('task')); // перенаправление внутри контроллера $controller->redirect(); ?> Этот код почти идентичен коду для компонента com_hello. Контроллер (/components/com_auto/controller.php) Здесь также вы найдете много фрагментов, знакомых по компоненту com_hello. /components/com_auto/controller.php:<?php defined('_JEXEC) or diet); jimport('joomla.application.component.controller'); class AutoController extends JController { function display() { parent::display(); } } Представление (/coщponents/cam_auto/views/auto/view.htщll .php) Здесь вы обнаружите первое отличие. Разумеется, для списка понадобятся данные. /components/com_auto/views/auto/view.html.php:<?php jimport( 'joomla.application.component.view'); class AutoViewAuto extends JView { function display($tpl = null) { $model = &$this->getModel(); $rows = $model->getAutoList(); $this->assignRef('rows' , $rows); parent::display($tpl); } } ?> $model = &$this->getModel(); Экземпляр модели создается и доступен в виде объекта в переменной $model: $rows = $model->getAutoList(); Метод getAutoList( ) вызывается на объекте и возвращает массив $rows: $this->assignRef('rows', $rows); parent::display($tpl); Результирующие строки выделяются и передаются шаблону.
|