18

我有一个显示页面的 xxx.html.twig 文件,但是当我想用不同的数据刷新页面并用新数据更新它时,我有一个选择和一个提交按钮。问题是我不知道如何在控制器中调用一个动作,我将参数从我的树枝传递给它并调用新数据,然后我再次使用新参数渲染相同的树枝模板。

我该怎么做?

4

3 回答 3

40

这里有几种不同的方法:

{{ render(app.request.baseUrl ~ '/helper/test', {"hostid2": hostid } ) }}

或者

{% include 'MyCoreBundle:Helper:test.html.twig' with {"hostid2": hostid } only %}

或者

{% render controller("MyCoreBundle:Helper:test", {'hostid2': hostid}) %}
于 2013-04-15T19:44:05.127 回答
33

Symfony 2.1:

{% render 'YourBundle:YourController:yourAction' with {'var': value} %}

Symfony 2.6+:

{{ render(controller('YourBundle:YourController:yourAction', {'var': value})) }}

当然,还要阅读文档。

于 2012-07-30T08:01:30.020 回答
0

我认为这里有些部分被贬低了。为了使包含在最新的 Symfony 3.1.10 中工作,我这样解决了它:

{% extends 'base.html.twig' %}
{% block body %}
    {{ include('AppBundle:Default:inner_content.html.twig') }}
{% endblock %}

注意:include() 带括号。然后所有变量都包含在父模板中。如果您想限制子模板中的某些变量,请使用 with ... only(查看)

于 2017-04-18T10:52:57.010 回答