わかりました。私はZendFrameworkを初めて使用するので、これがちょっと無知な場合は失礼します。
現在、フォームがテーブルに組み込まれています。テーブルは次のようになります。
<table>
<tr>
<td><label><input>[Text]</td>
</tr>
<tr>
<td><label><input>[Text]</td>
</tr>
<tr>
<td><label><input>[Text]</td>
</tr>
</table>
誰が最初にそれを作ったのかは、私が働いている人々が望むものを最初に残しました。これらの同じ人々は、基本的に次のようなレイアウトを持ちたいと考えています。
<table>
<tr>
<td><label><input>[Text]</td>
</tr>
</table>
<table>
<tr>
<td><label><input>[Text]</td>
</tr>
<tr>
<td><label><input>[Text]</td>
</tr>
<tr>
<td><label><input>[Text]</td>
</tr>
</table>
フィールドは動的でロールベースであるため、テーブルは現在foreachステートメントを介してロールアウトされています。基本的に、コードはそのフォーム要素の完全な配列を吐き出し、foreachがそれを構築します。私はそれについてそれだけ理解しています。しかし、私の主な質問は、いわばテーブルから抜け出し、別のテーブルを展開する方法はありますか?
</tr></table><br><table>
全体として、 2つの異なるテーブルを持つことができるように、本質的に何らかの方法で注入したいと思います。
ループで更新 私は進行中のpropietray作業の一部としていくつかの変数とそのようなものを除外する必要があるので、ImはWebにコードを投稿することを許可されていないので、ここに最小限のバージョンがあり、目立つ
$form = new form_TableForm(self::CHANGEPREFS);
$form->setAction($this->_helper->url('saveprefs'));
foreach ($defaults as $name => $value)
{
if ($name == 'xxx1' && (!xxx::eval('xxx','view') || $zzz)) continue;
if ($name == 'xxx2' && !xxx::eval('xxx','view')) continue;
if ($name == 'xxx3' && !xxx::eval('xxx','alerts')) continue;
if ($name == 'xxx4' && !xxx::eval('xxx','alerts')) continue;
$element = new Zend_Form_Element_Checkbox($name);
$element->setLabel($this->_helper->Literal->xxx($name));
if ($value) $element->setValue($value);
$element->setOptions(array(
'required' => false,
'fullrow' => true
));
$form->addElement($element);
//if($name == 'xxx5'){$form .= "</table><table>";}
//bad attempt at injection above
}
$form->addDisplayGroup(array('savebutton'), 'buttonsgroup', array('fullrow' => true));
return $form;