4
フォーム上のドロップダウンの値に応じて異なるタイプの出力を表示するはずのコントローラ内にアクションがあります。Zendフレームワークでのビューの切り替え
さまざまなビュータイプの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
はまだ/public/index.php
に設定されているデフォルトの1(Smartyのtemplater)である私が見てきましたドキュメントには、コントローラのinit()関数でビューを設定することができます。http://framework.zend.com/manual/en/zend.view.scripts.htmlしかし、これは望ましくないコントローラ全体のビューを設定します。
このアクションだけの出力タイプを変更するにはどうすればよいですか?
は、なぜあなたは全体のコントローラのビューを設定したくありませんか? 1回のリクエストでそのコントローラで複数のアクションを呼び出していますか? – jah
これはコントローラの代わりに 'Bootstrap'やコントローラプラグインで設定することをお勧めします。 – takeshin
コントローラは、モデル内の1つのオブジェクトに関連するすべての処理、つまり追加、編集、削除を実行しており、HTMLを表示する必要があります。 – Hexdoll