MYSTERRIA3.0

Bobr framework - Web Plugin - работа в контроллере

Работа с метаданными страниц.

sub indexAction
{
my ($self, $request) = @_;
$self->getResponse()->addMeta('title', 'Here the page title goes');
$self->render();
}

Вот так примерно выглядит метод контроллера. На вход всегда приходит экземпляр контроллера и объект-запрос. Объект-ответ напрямую не передается, но легко получается из объекта контроллера или даже из контекста. Работа с контекстом фреймворка напрямую является моветоном, поэтому показывать не буду. Разве что расскажу, что получить его всегда можно так: Bobr::Context->getInstance();

Последняя строка возвращает response объект после рендеринга шаблона по умолчанию. Шаблон по умолчанию ищется исходя из naming-conventions, на основе имен контроллера и метода контроллера, но может быть задан параметром в методе render. Экшн всегда должен возвращать либо объект-ответ, либо undef, что будет расценено как вежливая просьба фреймворку взять текущий объект-ответ из контекста самостоятельно.

Меты на страницу проставляет непосредственно сервис темплейтинга, используя при этом stash переменную, поэтому, если есть желание ставить меты в шаблонах, это так же вполне возможно. Для этого, используя vmethods Template::Toolkit добавляем структуру {key => "...", value => "..."} в массив __metas. Обратите внимание, что все переменные, имеющие префиксом двойное подчеркивание - системные и чтобы избежать конфликтов, вам не следует использовать этот префикс в именах stash переменных.

Рубрики: Perl, Bobr Framework

↑ Наверх


blog comments powered by Disqus

Контакты

Igor Zinkovsky aka TLoD,Snake. Писать на электропочту, стучаться в аську 302380533, искать в Санкт-Петербурге.

© 2002-2019