我有一个包含1到多个标签的网页。每个选项卡都有一个动态创建的表单因此,如果有4个选项卡,我会在我的控制器中在foreach循环中动态生成4个表单,我会像这样传递$ Id:
foreach($ids as $id) {
$html .= $this->createHtml($id);
}
到以下功能
private function createHtml($Id)
{
$html .= '<div id="product_'.$Id.'">';
$html .= ' <form id="form_'.$Id.'" name="form_'.$Id.'" class="formatted" method="POST">
<input type="hidden" name="_method" value="PUT">
<fieldset class="border">
{{ form_row(product_form_'.$Id.'.product, {
\'note\' : \'Enter Something\'
}) }}
</fieldset>
</form>';
$html .= ' <br/>';
$html .= '
<div>
Some text
</div>';
$html .= '</div>';
return $html;
}
因此该函数被调用4次并不断添加到$ html。
然后我将$html
和4 product_form->createView()
传递给树枝并输出html,如下所示:
{{html | raw}}
所有html div和form标签都正确呈现,但不显示产品的输入字段,而是显示:
{{ form_row(product_form_'.$Id.'.product, { \'note\' : \'Enter Something\' }) }}
你知道吗?它没有认识到作为要渲染的symfony输入字段。它认为它是常规文本。
我以为| raw可能与它有关,所以我调整了代码以显示{{form_row... }}
而没有|原始但没有影响。