【问题标题】:Symfony 2 - included form in all views and handled by one controllerSymfony 2 - 包含在所有视图中的表单并由一个控制器处理
【发布时间】:2015-12-28 09:32:45
【问题描述】:

我正在使用 Symfony 2,但在嵌入表单时遇到了一点问题。

情况:

MyBundle/Resources/views/Portions/footer.html.twig 视图包含在 MyBundle/Resources/views/layout 中,当然 layout.twig.html 由所有捆绑视图扩展。 Whish 表示 footer.html.twig 显示在所有页面中。

问题/问题:

我想在 footer.html.twig 中嵌入一个时事通讯表单(一个输入),由一个控制器处理(验证数据、数据库插入和电子邮件发送),然后返回到同一页面。

处理这个问题的优化解决方案是什么?

谢谢。

【问题讨论】:

  • “最佳优化解决方案”主要基于意见......
  • 会不会导致不理解?无论如何...我修好了。

标签: php forms symfony controller embed


【解决方案1】:

一种简单的方法(不是最好的方法)

将服务简单地定义为全局的 twig,这样您就可以始终让您的表单对 twig 可用。

# Twig Configuration
twig:
    ...
    globals:
        myGlobaService: "@acme.newsletter_service"

另一种简单的方法是使用 twig 渲染标签,包含整个控制器动作,从而渲染模板。

{{ render(controller('AcmeNewsLetterBundle:Default:renderNewsletterForm', {})) }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    相关资源
    最近更新 更多