2017-06-12 5 views
0

上で私の前の問題:は反復ジキルFrontmatter内の項目の配列

menu_links: 
- donate: "/donate" 
- shop: "/shop" 

マイループ:

{% for menu_link in page.menu_links %} 
    <div><a class="menu-item" href="{{ menu_link[1] }}">{{ menu_link[0] }}</a></div> 
{% endfor %} 

は、私はここで間違って何をしているのですか?

答えて

1

次のように解析される定義されている方法:あなたがそれらにアクセスできるようになるので、[{"donate"=>"/donate"}, {"shop"=>"/shop"}]

{{page.menu_links[0]['donate']}} 
{{page.menu_links[1]['shop']}} 

良く1は次のようになりますので、あなたが

menu_links: 
donate: "/donate" 
shop: "/shop" 

直接アクセスすることができます:

{{page.menu_links['donate']}} 
{{page.menu_links['shop']}} 

元のコードが機能します。

+0

ありがとうございましたが、私はJigyll Adminを使用していたのでプログラム的な解決策が必要でした。ユーザーは将来キーや値を変更する必要があります。 – user3411192

0

対処:

{% for menu_link in page.menu_links %} 
    {% for item in menu_link %} 
    <div><a class="menu-item" href="{{ item[1] }}">{{ item[0] }}</a></div> 
    {% endfor %} 
{% endfor %} 

各項目は、各menu_linkのキー/値のペアを取得するために、第2の時間を通ってループする必要があります。

+0

'item'は文書化されていません。 forループで宣言されました。 '{menu_link%}の{%for i}'の '{foo for menu_link%} 'の' foo'に何かがある可能性があります。 – DavChana

+0

は解決策を更新しました:キーを取得するためにループ内でループする必要がありました/ valペア。あなたのコメントは私のために何も明らかにしていないbtw – user3411192

関連する問題