Nullyのぶろぐ

仙台で働くエンジニアの日記

Zend_Formでのメモ

Zend_Fromを使ってデータを横に表示しようとしたときに、どーしても忘れてしまうのでメモ。

情けない...orz

Formを作るときは継承してもしなくてもいいのですが、継承させた方が管理が楽なので継承させるのがベストだと思います。

では、毎回忘れがちなDisplayGroupですが、これはひとまとめに表示したい物を制御出来ます。

たとえば、データを横に出力したい場合(|セル1|セル2|セル3|のような)には、追加していくForm要素に利用するHtmlTagDecoratorが重要となります。

HtmlTagDecoratorはHtmlタグ(<p></p>とか<div></div>とか)をきれいに出力してくれるDecoratorです。

で、今回の場合のようにデータを横表示にしたい場合は、以下のようになります。

$form->addElementDecorators(array(

"FormElements",

array(array("cel" => "HtmlTag"), array("tag" =>"何かしらのタグ"))

));

これで横に出力する準備が整いました。

後はZend_Form::setDisplayDecorators();を使ってDisplayGroupの要素を調整してあげれば、きれいな横表示にすることが出来ます。