首页 > 解决方案 > Twig:如何在嵌套模板块中设置标题?

问题描述

我有这样的树枝结构:

{% extends '@layouts/default.html.twig' %}

{% block headerBar %}
    {% include 'partials/my-navigation.html.twig' %}
{% endblock %}

{% block content %}
    some content
{% endblock %}

但现在我的“my-navigation.html.twig”中总是有相同的标题。

我怎样才能动态地做到这一点?也许是这样的:

{% extends '@layouts/default.html.twig' %}

{% block myNiceTitle %}
    COOL TITLE 
{% endblock %}

{% block headerBar %}
    {% include 'partials/my-navigation.html.twig' %}
{% endblock %}

{% block content %}
    some content
{% endblock %}

然后我会在“my-navigation.html.twig”文件中动态使用我的标题?但如何?

我已经在这里阅读了手册:

https://twig.symfony.com/doc/2.x/functions/block.html

但这并没有让我更聪明:(

感谢任何提示

标签: phpsymfonytwig

解决方案


假设这myNiceTitle是您的导航模板中的一个块,您可以使用embed并执行以下操作:

{% extends '@layouts/default.html.twig' %}

{% block headerBar %}
    {% embed 'partials/my-navigation.html.twig' %}  
        {% block myNiceTitle %}
            COOL TITLE 
        {% endblock %}
    {% endembed %}
{% endblock %}

{% block content %}
    some content
{% endblock %}

在某处partials/my-navigation.html.twig

{% block myNiceTitle %}
    DEFAULT TITLE {# or nothing at all... #}
{% endblock %}

推荐阅读