簡體   English   中英

通過 Twig 解析和使用列表項內容

[英]Parsing and using list item content via Twig

我正在嘗試使用 Grav 創建我的下一個網站。 我能夠做的一件事是使用Grav frontmatter 中提供的數據構建一個無序列表,該數據來自使用該模板的Grav頁面。 這是我嘗試執行此操作的方法

---
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 哈希鍵必須是帶引號的字符串、數字、名稱或括在括號中的表達式(值“{”的意外標記“標點符號”。

違規行是我的{% 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 文檔總的來說非常好。 但是,關於頁眉/frontmatter的文檔似乎有些不完整。 沒有對 Frontmatter 處理器理解的整個語法的完整描述。 為了在前面定義一個數組,您需要做的就是以下內容

---
sectionone:
 benefits: 
    - 'Benefit 1'
    - 'Benefit 2'
    - ...
---

本質上是無序列表的標准降價語法。 Grav 的樹枝處理器似乎將其轉換為 PHP 數組 - 無需解析!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM