私はZendデコレータに問題があり、私が彼を持っていたい場所に要素を配置する方法を理解できません。ZEND - デコレータと要素の位置?
私は、デコレータがデータをテーブルに入れているところにフォームを持っていますが、私はテーブルから送信したいと思っています。
for ($i = 0; $i < $numRows; $i++) {
$select = new Zend_Form_Element_Select('article' . $i);
$select->setAttrib('style', 'margin-top:10px;width:200px;');
$select->addMultiOption('1', $this->translate->_('Zatwierdzony do druku'));
$select->addMultiOption('0', $this->translate->_('Niezatwierdzony do druku'));
$select->setValue($rows[$i]['reviewed']);
$select->setDecorators(
array(
'ViewHelper',
array(
array('data' => 'HtmlTag'),
array('tag' => 'td', 'class' => 'padding5 tdcenter')
),
array(
'AnyMarkup',
array(
'markup' => $this->_getMarkupForRow($i, $rows),
'placement' => 'PREPEND',
)
),
array(
array('row' => 'HtmlTag'),
array('tag' => 'tr', 'openOnly'=>true)
),
),
array('submit'),
false
);
$this->addElement($select);
}
$submit = new Zend_Form_Element_Submit('updatetoprint');
$submit->setAttrib('id', 'updatetoprint');
$submit->setLabel('Zapisz');
$submit->setDecorators(
array(
'ViewHelper',
array(
array('data' => 'HtmlTag')
),
array(
array('row' => 'HtmlTag'),
array('tag' => 'div', 'closeOnly'=>true,'style' => 'float:left;')
)
//here i dont know how to get my submit on the bottom under the table...?
),
array('submit')
);
$this->addElement($submit);
サイトでは、次のようになります:今のところ私はそのような何か持って
を、私は私はテーブルの下に下に提出したいのですが...私を助けてください。 )
実際、デコレータ体操(ha!)とビュー要素にフォーム要素を入れる中間的なアプローチは、単にViewscriptデコレータを使うことです。これは、アプリケーションの複数の場所でフォームを使用する場合に特に便利です。 –
@David Weinraubそれは、ZFについて本当に愛することの一つですが、問題には常に多くの異なる解決策があります。私はまだViewscriptデコレータを調べていませんが、私はある時点で理由があると確信しています。 – RockyFord
部分的にデータを取得するにはまだ問題がhavinそれにその愚かなanymarkupを取得する方法を知っていない...気がZFのデコレータを嫌い...その病気:(編集:私はちょうどいくつかの他の方法を表示していたidを作ったが、 (私は手動でフォームタグを追加することができますが、その良いソリューションではないと思う...私はあなたの方法でそれを作っているとき、ビュースクリプトを追加しているかもしれません。私は変更を控えることはできません。ページ上の私のCSSはうんざりしており、すべてが変更されています(悪い)。私はそれをやる方法を知らない... – DarAss