Symfony - 更改嵌入表单的模板

时间:2011-03-08 08:51:08

标签: symfony1 symfony-1.4 symfony-forms

我已经创建了一个表单来嵌入表单,以便在与ajax的一对多关系中添加新记录,我的问题是,我在哪里编辑嵌入表单的模板?因为我认为这将在_form.php中,但它似乎没有使用该模板

提前致谢

2 个答案:

答案 0 :(得分:0)

如果您要通过ajax添加字段,则可以使用某个模板执行ajax的响应。例如,如果您有邮件字段,则可以执行以下操作:

public function executeAddMailForm($request)
{
    $this->forward404unless($request->isXmlHttpRequest());

    $mail = new MailForm();

    //action logic...

    return $this->renderPartial('addMail',array('form' => $form));
}

并制作 _addMail 模板:

<div class="form-ajax-item">
    <div class="form-ajax-label">
        <?=$form['mail']->renderLabel()?>
    </div>
    <div class="form-ajax-field">
        <?=$form['mail']->render()?>
    </div>
</div>

这样您就可以使用模板进行ajax响应。

答案 1 :(得分:0)

实际上它确实来自与主窗体相同的_form partial。默认情况下,symfony中的表单元素呈现为表格行,因此这可能会导致您的混淆。你能告诉我们你想做什么吗?

有关于如何执行此操作的文档以及有关symfony网站see here的非常详细的示例。它非常深入,看起来有点令人生畏,但我建议您仔细阅读并确保花时间实际了解它。