在我的主要布局中,我渲染了另一个这样的控制器:
{# main layout.html.twig #}
<div id="login">
{% render(controller("FOSUserBundle:Security:login")) %}
</div>
<div id="main">
</div>
此控制器生成不同的变量(lastUserName,csrf_token,error),现在我如何在主layout.html.twig中使用这些变量?
答案 0 :(得分:2)
symfony开发人员不打算做什么。
如果可能,render()应该只渲染一个模板。此模板应扩展其他模板。所以你能做的是:
// FOSUserBundle:Security:login (Template)
{% extends main_layout.html.twig %}
{{ someVariable }}
{% block someName %}
YOUR DESIGN
{% endblock %}
// FOSUserBundle:Security:login (Template)
SOME DESIGN
{{ someVariable }}
{% block someName %}
empty
{% endblock %}
SOME DESIGN
变量someVariable可用于main_layout和登录模板。在控制器中渲染子模板时注入所有变量($ this - &gt; render('templateName',array()))