Чтение онлайн

на главную - закладки

Жанры

Разрботка расширений для CMS Joomla
Шрифт:

Получение ссылки на объект-представитель одной из добавленных к представлению моделей

JModel getModel(string $name = null)

где $name - имя модели.

Например, добавим в коде контроллера к представлению SomeView модели Model1 и Model2:

$view = &$this->getView('SomeView', 'html'); $view->setModel($this->getModel('Model1'), true); $view->setModel($this->getModel('Model2'));

Получение

данных из зарегистрированной модели или поля представления

mixed get(string $property, string $default = null)

где

$property - название метода модели, который требуется вызвать, или поля представления. В первом случае будет вызван метод get<Название метода> - обратите внимание на заглавную букву; $default - если данные должны быть получены из модели, то $default - имя модели. Если требуется получить значение поля, то $default - значение, которое будет возвращено, если такое поле отсутствует.

Например, если в модели, заданной для текущего представления по умолчанию, есть метод getValue, то получить в классе представления возвращаемое им значение можно так:

$temp = &$this->get('value');

Связывание переменной с представлением

bool assignRef(string $key, mixed &$val)

где

$key - имя поля объекта-представителя представления. Не может начинаться со знака подчеркивания; $val - значение поля.

Пример:

$view->assignRef('somevar', $someval);

Выполнение и отображение скрипта шаблона

void display(string $tpl = null) string loadTemplate(string $tpl = null)

где $tpl - имя файла шаблона. Конкретное имя файла зависит от значений имени и расширения макета, заданных в классе, по умолчанию это соответственно default и php. Если вы хотите изменить эти значения, используйте методы setLayout и setLayoutExt. Будет произведен поиск файла <имя макета>_<$tpl>.<расширение макета> или при $tpl=null <имя макета>.<расширение макета>.

display выводит на экран результат работы скрипта шаблона, а loadTemplate только возвращает этот результат. При ошибке display возвращает объект Exception.

Например:

echo $view->loadTemplate('mytpl');

отобразит результат выполнения скрипта /components/com_<имя компонента>/views/<имя представления>/tmpl/default_mytpl.php.

JController

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

mixed execute(string $task)

где $task - имя задачи. Если такой задачи не найдется, будет выполнена задача "__default".

Метод возвращает

значение, возвращаемое вызванным методом, или false в случае ошибки.

Например, код

$controller->execute('addItem');

приведет к вызову метода addItem контроллера $controller.

Регистрация задачи

Регистрация задачи– это ее сопоставление какому-либо методу класса, производного от JController.

JController registerTask(string $task, string $method)

где

$task - задача; $method - имя метода.

Пример в коде контроллера:

$this->registerTask('save', 'saveItem');

Стандартная реализация метода display

О методе display говорилось выше.

JController display(bool $cachable = false, array $urlparams = false)

где

$cachable - задает, кэшировать ли вывод представления; $urlparams - массив пар "имя-значение" для URL, использующихся при кэшировании.

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

JView getView(string $name = '', string $type = '', string $prefix = '', array $config = array)

где

$name - имя представления. По умолчанию совпадает с именем контроллера; $type - тип представления, который можно определить как $document->getType; $prefix - префикс класса представления. По умолчанию <имя контроллера>View; $config - массив параметров, которые будут переданы в конструктор представления, - имя представления, кодировка, путь к директории шаблонов и т.д.

Если класс <префикс><имя представления> не найдется в директориях, заданных по умолчанию, то будет произведен его поиск в файле <имя представления>/view.<тип представления>.php. Например, если в коде класса MyComponentController есть строка

$view = &$this->getView('Item', 'html');

то будет произведен поиск класса MyComponentViewItem в файле /components/com_<имя компонента>/views/Item/view.html.php.

Получение объекта-представителя модели

JModel getModel(string $name = '', string $prefix = '', array $config = array)

где

$name - имя модели. По умолчанию совпадает с именем контроллера; $prefix - префикс класса модели. По умолчанию <имя контроллера>Model; $config - массив параметров, которые будут переданы в конструктор модели.

Задание параметров для будущего перенаправления

JController setRedirect(string $url, string $msg=null, string $type=null)

Поделиться:
Популярные книги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит