我想传递一个include作为另一个include中传递的变量的一部分。让我画一幅画:
{% include '@AppBundle/P1/template.html.twig' with {
'body': '<div class="col-xs-12">
<h1>Dummy Title</h1>
include '@AppBundle/P1/Form/dummyForm.html.twig' with {'form': test_form }
'</div>'
}%}
这一切都可能吗?我试图逃避字符串和连接,但我总是得到&#34;标点符号&#34;预计有价值&#34;,&#34; 404.我真的很好奇是否有人遇到过这样的问题,如果有的话,他们是如何克服它的。谢谢大家!
答案 0 :(得分:0)
嗯,首先回答你的问题,你可以使用函数代替标签:
main.twig
{{
include('@AppBundle/P1/template.html.twig', {
'body': include('@AppBundle/P1/dummyBody.html.twig')
})
}}
dummyBody.html.twig
<div class="col-xs-12">
<h1>Dummy Title</h1>
{{ include('@AppBundle/P1/Form/dummyForm.html.twig', {'form': test_form }) }}
</div>
但是你应该知道blocks,这是为此做的!
base.twig
<div class="col-xs-12">
<h1>Dummy Title</h1>
{% block form %}{% endblock %}
</div>
form.twig
{% extends 'base.twig' %}
{% block form %}
some form
{% endblock %}
渲染 form.twig 将显示相同的内容,但更干净且易于重复使用。