【问题标题】:Symfony - Changing templates for embedded formsSymfony - 更改嵌入式表单的模板
【发布时间】:2011-03-08 08:51:07
【问题描述】:

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

提前致谢

【问题讨论】:

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

标签: symfony1 symfony-1.4 symfony-forms


【解决方案1】:

如果您通过 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 响应。

【讨论】:

    【解决方案2】:

    事实上,它确实来自与主窗体相同的 _form 部分。 symfony 中的表单元素默认呈现为表格行,因此这可能是导致您困惑的原因。你能告诉我们你想做什么。

    在 symfony 网站see here 上有关于如何执行此操作的文档和一个非常详细的示例。它非常深入,可能看起来有点令人生畏,但我建议您通读一遍,并确保您花时间真正理解它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      相关资源
      最近更新 更多