我有一个xxx.html.twig文件,它显示一个页面。但是当我想用不同的数据刷新页面,并只更新它与新数据,我需要一个选择框和一个提交按钮。
问题是我不知道如何从我的twig中调用控制器中的操作,并传递参数以获取新数据,然后再次使用新参数呈现相同的twig模板。
我该怎么做?
我有一个xxx.html.twig文件,它显示一个页面。但是当我想用不同的数据刷新页面,并只更新它与新数据,我需要一个选择框和一个提交按钮。
问题是我不知道如何从我的twig中调用控制器中的操作,并传递参数以获取新数据,然后再次使用新参数呈现相同的twig模板。
我该怎么做?
这里有几种不同的方法:
{{ 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}) %}
include
结尾处的 only
是什么意思? - Veve{% render %}
现已过时,已被{{ render() }}
替换。 - SteeveDroz{% render 'YourBundle:YourController:yourAction' with {'var': value} %}
{{ render(controller('YourBundle:YourController:yourAction', {'var': value})) }}
当然,也要阅读文档。
{{ render(controller('SomeBundle:SomeController:someAction', { 'someVariable': someValue })) }}
替代。 - SteeveDroz我认为这里有一些过时的部分。 为了使最新的Symfony 3.1.10中的include工作,我是这样解决的:
{% extends 'base.html.twig' %}
{% block body %}
{{ include('AppBundle:Default:inner_content.html.twig') }}
{% endblock %}