首页 > 解决方案 > Twig,是否可以从子模板覆盖父模板的标签属性?

问题描述

我有两个模板,一个父模板和一个子模板。我想知道是否可以从子模板向父模板中的标签“正确”添加一个类?如果是,如何?

例如,如果我有这个 parent.html.twig 文件:

<body>
    {% block body %}{% endblock %}
    {% block javascripts %}{% endblock %}
</body>

而这个 child.html.twig 文件:

{% extends 'parent.html.twig' %}
{% block body %}
    {# ... #}
{% endblock %}

从 child.html.twig 文件中,我可以向 body 标签添加一个类吗?如何 ?

感谢帮助 :)

标签: twig

解决方案


您应该修改父模板添加一个块,例如:

parent.html.twig

<body {% block bodyclass %}{% endblock %}>
    {% block body %}{% endblock %}
    {% block javascripts %}{% endblock %}
</body>

并在孩子身上使用:

child.html.twig

{% extends 'parent.html.twig' %}
{% block bodyclass %}class="child-class"{% endblock %}
{% block body %}
    {# ... #}
{% endblock %}

你可以试试这个twigfiddle


推荐阅读