(1)Zend_View_Helper_Action
他Actionの戻り値を取得することができる。
フォワードやリダイレクトをするようなものは、空の文字列が変える。
ウィジットのようなものもを作るのに便利。
引数として、アクション名、コントローラ名、モジュール名、引数(array)を渡す。
コード例)VIEWの中で、indexコントローラのsample2アクションを呼び出している
<?php echo $this->action("sample2","index",null,array("count"=>100));?>
(2)Zend_View_Helper_Partial
VIEWの中で他のテンプレートをレンダリングすることができる。
名前空間を気にせずにコーディングできるのと、複雑なレイアウトを使いまわしたいようなときに便利。
通常のVIEWファイルがview/scripts/コントローラ名/ディレクトリの配下を前提としているのに対し、
呼び出すテンプレートファイルは、views/scripts直下を探しにいくので、階層を間違えないように指定する必要がある。コントローラの範囲を超えて使いまわすのを想定しているのかも。
一応他のモジュールのVIEW配下のファイルも指定することができる。
拡張子はVIEWと同じもの。
コード例)
a) 元のビュー内の記述
<?php echo $this->partial("hogechild",array("aa"=>1,"bb"=>2)); ?>
b)呼び出されるテンプレート(hogechild.phtml)内の記述
<?php echo $this->aa ."/".$this->bb;?>
(3)Zend_View_Helper_PartialLoop
Partialヘルパーのループ版で、渡した引数の配列分だけ繰り返す。
テンプレート内では、 partialCounter変数で、繰り返している回数を取得することができるので、テーブルの行で、一行おきに背景色を変えるなども比較的に容易に実現できる。
コード例)
a) 元のビュー内の記述
<?php echo $this->partialLoop("hogechild.phtml",
array(
array("a1"=>"1","a2"=>"2"),
array("a1"=>"1","a2"=>"2")
));?>
b)呼び出されるテンプレート(hogechild.phtml)内の記述
(<?php echo $this->partialCounter?>)a1.":".$this->a2?>
0 件のコメント:
コメントを投稿