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.所以请,如果我的答案完全没用,你可以在投票前发表评论,我删除它?但是,如果它有帮助,并且在我的例子中只是一些错误,也通知我,我会解决它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |