0
DisplayGroupを使用して、グループ内のいくつかの要素をレンダリングしています。今私がやりたいことは、このグループを単一のテーブル行にレンダリングすることです。しかし、DisplayGroupsのDecoratorsはではなく、は単純な要素と同じように動作することが判明しました。例:Zend FrameworkのDisplayGroupデコレータ
$content = $this->getDisplayGroup('group');
$content->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'table', 'class' => 'element')),
));
これはちょうど私のDisplayGroupの終わりに <table></table>
を置きます。また、私はそれらを別名しようとしました:
array(array('elementDiv' => 'HtmlTag'), array('tag' => 'table','openOnly'=>true)),
'FormElements',
array(array('td' => 'HtmlTag'), array('tag' => 'table','closeOnly'=>true)),
そして、それはまだのみ終了タグの中に置きます:
array(array('elementDiv' => 'HtmlTag'), array('tag' => 'table')),
'FormElements',
array(array('td' => 'HtmlTag'), array('tag' => 'table')),
はまだ両方がopenOnly
とcloseOnly
を試したことのない、一つの場所にそれらを置きます。これらを<td>
に変更すると、すべて正常に動作しますが、<table>
ではなく何かが欠けていますか?
'HtmlTag'デコレータはタグを区別しないので、うまく動作するはずです。表示タグの末尾にテーブルタグを置くと、実際にレンダリングされたソースに表示されますか? – Phil
はい。私はスタック内にデコレータを配置する位置にオープンタグとクローズタグを並べて配置します。 –
私はちょうどこれを試みて同じ結果を得ているようだが、レンダリングされたマークアップを検査するためにfirebugを使用していて、実際には、表タグが表示グループを囲んでいることがわかった(そして、 Zend/Form/Decorator/HtmlTag.phpのコードをステップ実行した場合も同様です)。だから、私の場合は、ファンクバグの予想されたものではないレンダリングされたマークアップの解釈です。おそらく同様の問題があります。 – jah