小枝:如何在嵌套模板块中设置标题?

时间:2019-06-12 07:36:11

标签: php symfony 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

但这确实使我更聪明:(

感谢任何提示

2 个答案:

答案 0 :(得分:1)

假设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 %}

答案 1 :(得分:0)

在包含之前设置变量

{% set title = 'COOL TITLE' %}

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

然后在包含文件中使用它

<title>{{ title }}</title>