ZF2 が追加され、ページがロードされた後に sformCollection
を動的に追加できるようになりました。formElement
次のようなテキストフィールドが必要な行の動的な量のテーブルがあります。
foreach ($types as $type) :
?>
<tr><td><?php echo $type ?></td><td><?php echo $this->formRow($form->get('amount')); ?></td></tr>
<?php
endforeach;
アイテムの配列をループしてテーブルの行/列を印刷していますが、formCollection では一度にすべてのフィールドしか印刷できないようです。
おそらくループごとにテキストフィールドの1つを印刷することは可能ですか? すべてのドキュメントで、テンプレートと JavaScript を使用して要素を動的に追加する方法について説明しています。しかし、私は基本的に、すでに量を知っている入力の配列が欲しいだけです。
count
コントローラーでも変更できないようです。これを試しました:
$types = array(1,2,3,4,5)
$form = new ThingsForm();
$form->get('amounts')->setOptions(array(
'count' => count($types)
));
コレクションを持っているだけでcount => 1
印刷してみましたが、それらを埋めると1つのアイテムとしてしか扱われません。