php - 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
但这并没有让我更聪明:(
感谢任何提示
解决方案
假设这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 %}
推荐阅读
- julia - 为什么 Julia 文件不具有主要功能?
- c# - .NET C# HttpClient 读取同名的多个标头
- postgresql - 如何检查最后一次在 PostgreSQL 中选择一行是什么时候?
- javascript - 如何在网站上制作“在应用程序中打开”IOS栏?
- deno - 对 Deno.run() 中使用的 `cmd` 参数的组成感到困惑
- excel - Excel 持续时间:从总分钟数到 hh:mm
- vb.net - 删除 CheckedListBox 中的选定条目
- google-sheets - 在 Google 表格中计算每个间隔的自动时间戳
- xslt-3.0 - XSLT 3:将 xml 转换为 json
- r - R:箱线图在两个方面重新排序不同