我正在尝试使用一堆自定义设置变量包含一个twig文件,然后使用多个其他模板文件中的变量.类似于包含PHP文件的方式.
我似乎无法访问我的索引文件中include中设置的变量.
有没有办法做到这一点?
示例代码*已编辑
包含的文件:
{# variables.html #}
{% set width = "100" %}
{% set height = "250" %}
Run Code Online (Sandbox Code Playgroud)
模板文件:
{# index.html #}
{% include 'variables.html' %}
{{ width }}
{{ height }}
Run Code Online (Sandbox Code Playgroud)
预期结果:
100 250
Run Code Online (Sandbox Code Playgroud)
实际结果:
// Nothing gets output
Run Code Online (Sandbox Code Playgroud)
我只是想做和你一样的事情,并提出了以下建议:
创建是snippets.twig为了维护所有这些微型变量。就您而言,您可以将其称为variables.twig. 在此文件中,我使用了一个不带任何参数的宏。我正在创建格式化的条目日期标记,我可以在所有模板中使用它,它看起来像这样:
{% macro entry_date() %}
<time datetime="{{post.post_date|date('m-d-Y')}}">{{post.post_date|date('F j, Y')}}</time>
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)
请注意,名称声明后的括号是必需的
在我的主布局文件中,layout.twig我通过import语句引用了该宏,因此可以在所有子模板中访问它:
{% import "snippets.twig" as snippets %}
<!doctype html>
...
Run Code Online (Sandbox Code Playgroud)
在我的模板文件中,我现在snippets可以像任何其他变量一样访问并查询它:
{{ snippets.entry_date }}
Run Code Online (Sandbox Code Playgroud)
更新
这似乎无法正确运行代码。如果您只是存储静态内容,那么应该没问题。您还可以将参数传递给宏,所以我想您可以在那里发生一些魔法,但我还没有尝试过。
| 归档时间: |
|
| 查看次数: |
12650 次 |
| 最近记录: |