Zend Framework переключает представления в действии - PullRequest
4 голосов
/ 25 января 2011

У меня есть действие в контроллере, которое должно отображать различные типы вывода в зависимости от значения в раскрывающемся списке формы.

Я написал объект Templater (расширяется от Zend_View_Abstract) для различныхтипы просмотра.

Я попытался выполнить следующий код:

public function generateDocumentAction()
{
    //...some code to set $view depending on post data        
    // e.g. $view = new TemplaterOdt(); //view as an OpenOffice document

    $this->_helpers->getHelper('viewRenderer')->setView($view);

    $this->view->myvar = $form->getValue('some_value');
}

, но $this->view по-прежнему используется по умолчанию (шаблон Smarty), который установлен в / public / index.php

Я посмотрел в документации, и он говорит, что вы можете установить представление в функции init () в контроллере http://framework.zend.com/manual/en/zend.view.scripts.html, но это установит представление для всего контроллера, который яне хочу.

Как изменить тип вывода только для этого действия?

1 Ответ

7 голосов
/ 25 января 2011

Если вы просто хотите изменить шаблон для отображения, используйте:

$this->_helper->viewRenderer('viewscripthere');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...