php – Twig包含一个扩展父进程块的模板
|
有没有办法做到这一点?我有一个模板,输出一个博客文章.
现在,在索引页面上,我通过在for循环中显示10个文章,在显示页面上我只显示一个. 指数: {% block stylesheets %}
{# some stylesheets here #}
{% endblock %}
{% for article in articles %}
{% include VendorBundle:article.html.twig with { 'article': article } %}
{% endfor %}
显示: {% block stylesheets %}
{# some stylesheets here #}
{% endblock %}
{% include VendorBundle:article.html.twig with { 'article': article } %}
现在有没有办法使article.html.twig添加一些自动包含的模板的{%block stylesheets%}模板?如果可能,如何防止在使用for循环时添加10次? 我试图使我的“片段”模板(用于包含的模板)定义他们使用的样式表,并使它们“注入”到页面.
你尝试使用
use吗?
不幸的是,我不完全确定我是否有问题,但{%use%}没有在这里提及. 据了解,您已经获得了article.html.twig并将其包含在例如index.html.twig.现在你想从article.html.twig添加一些index.html.twig?也就是{%styleheets%}块. 如果我有使用{%使用%}的方式,可以这样尝试一下. article.html.twig {% block stylesheets %}
<link rel="stylesheet" href="{{ asset('bundles/mybundle/css/article.css') }}" type="text/css" />
{% endblock %}
{% block article %}
{# whatever you do here #}
{% endblock %}
index.html.twig {% use "VendorBundle:article.html.twig" with stylesheets as article_styles %}
{% block stylesheets %}
{{ block('article_styles') }}
{# other styles here #}
{% endblock %}
{% for article in articles %}
{% include VendorBundle:article.html.twig with { 'article': article } %}
{% endfor %}
我没有机会测试它,但文件说了几个非常有趣的事情,似乎这样做可以做到这一点.
我相当新的stackoverflow.所以请,如果我的答案完全没用,你可以在投票前发表评论,我删除它?但是,如果它有帮助,并且在我的例子中只是一些错误,也通知我,我会解决它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
