生成动态表单

时间:2015-07-26 16:39:55

标签: symfony twig

我有一个包含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... }}而没有|原始但没有影响。

0 个答案:

没有答案