2017-11-15 12 views
1

Gravを使用して次のウェブサイトを作成することを試しています。私ができることの1つは、テンプレートを使用するGravページからGrav frontmatterで提供されるデータを使用して順序付けられていないリストを構築することです。ここでは、私はこのTwigでリスト項目の内容を解析して使用する

--- 
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_Error_Syntax ハッシュキーは引用符で囲まれた文字列、番号、名前、または括弧で囲まれた式(値の予期しないトークン「句読点」「{」でなければならない。

オフラインが私の{% set items = ... }であるステートメント。私は明らかにここで何か間違っていますが、私はTwigの初心者ですので、私はそれが何であるか見ることができません。うまくいけば、ここの誰かが助けられるだろう。

+0

なぜこれでJSONを使用しようとしていますか? YAMLを使う方が理にかなっていませんか? – Jacobm001

+0

また、YAMLの構造と小枝の参照が一致していないことにご注意ください。 – Jacobm001

答えて

1

私はこれを最終的に考え出しました。 Gravのドキュメントは、大変良いものです。しかし、page headers/frontmatterのドキュメントはやや不完全なようです。フロントマタープロセッサーが理解している構文全体について完全な記述はありません。前付の配列を定義するためにすべてを行う必要がある。本質的に

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

順不同リスト用の標準マークダウン構文に従っています。 Gravの小枝プロセッサは、これをPHP配列に変換するように見えます。解析は必要ありません!

+0

このYAML構造のための付属のTwigテンプレートコードを含めてください。 –

1
{% block featurelist %} 
<ul> 
    {% set items = page.header.sectionone.consumers.benefits|json_decode %} 
    {% for item in items %} 
     <li>{{item}}</li> 
    {% endfor %} 
</ul> 
{% endblock %} 
関連する問題