通过 Twig 解析和使用列表项内容
Parsing and using list item content via Twig
我正在尝试使用 Grav 创建我的下一个网站。我可以做的一件事是使用使用模板的 Grav 页面中 Grav frontmatter 中提供的数据构建一个无序列表。这是我尝试这样做的方法
---
sectionone:
listitems: "['Benefit 1','Benefit 2','Benefit 3']"
---
然后在模板中以某种方式执行以下操作
{% block featurelist %}
<ul>
{% set items = {{page.header.sectionone.consumers.benefits|json_decode}} %}
{% for item in {{}} %}
<li>{{item}}</li>
{% endfor %}
</ul>
{% endblock %}
然而,Twig 不喜欢这样,并报告了一个类似
的错误
Twig_Error_Syntax
A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "punctuation" of value "{".
违规行是我的 {% set items = ... }
声明。我显然在这里做错了什么,但我是 Twig 新手,所以我看不出那可能是什么。
{% block featurelist %}
<ul>
{% set items = page.header.sectionone.consumers.benefits|json_decode %}
{% for item in items %}
<li>{{item}}</li>
{% endfor %}
</ul>
{% endblock %}
我终于想通了。 Grav 文档大体上非常好。但是,page headers/frontmatter 上的文档似乎有些不完整。没有对 frontmatter 处理器理解的整个语法的完整描述。为了在 front matter 中定义一个数组,您需要做的就是以下
---
sectionone:
benefits:
- 'Benefit 1'
- 'Benefit 2'
- ...
---
本质上是无序列表的标准降价语法。 Grav 的 twig 处理器似乎将其转换为 PHP 数组 - 无需解析!
我正在尝试使用 Grav 创建我的下一个网站。我可以做的一件事是使用使用模板的 Grav 页面中 Grav frontmatter 中提供的数据构建一个无序列表。这是我尝试这样做的方法
---
sectionone:
listitems: "['Benefit 1','Benefit 2','Benefit 3']"
---
然后在模板中以某种方式执行以下操作
{% block featurelist %}
<ul>
{% set items = {{page.header.sectionone.consumers.benefits|json_decode}} %}
{% for item in {{}} %}
<li>{{item}}</li>
{% endfor %}
</ul>
{% endblock %}
然而,Twig 不喜欢这样,并报告了一个类似
的错误Twig_Error_Syntax A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "punctuation" of value "{".
违规行是我的 {% set items = ... }
声明。我显然在这里做错了什么,但我是 Twig 新手,所以我看不出那可能是什么。
{% block featurelist %}
<ul>
{% set items = page.header.sectionone.consumers.benefits|json_decode %}
{% for item in items %}
<li>{{item}}</li>
{% endfor %}
</ul>
{% endblock %}
我终于想通了。 Grav 文档大体上非常好。但是,page headers/frontmatter 上的文档似乎有些不完整。没有对 frontmatter 处理器理解的整个语法的完整描述。为了在 front matter 中定义一个数组,您需要做的就是以下
---
sectionone:
benefits:
- 'Benefit 1'
- 'Benefit 2'
- ...
---
本质上是无序列表的标准降价语法。 Grav 的 twig 处理器似乎将其转换为 PHP 数组 - 无需解析!