2017-05-21 27 views
0

サイトを生成しようとしているときに構文エラーが発生しました。ここで何が間違っているかも考えていますか?Liquid/Jekyllの "if"条件内でネストされた "for"ループ

エラー:液体構文エラー:不明なタグ

{% if page.title == "Tags" %} 
    {% for tag in site.tags %} 
{% elsif page.title == "Categories" %} 
    {% for tag in site.categories %} 
{% endif %} 
    <a href="#{{ tag[0] | slugify }}">{{ tag[0] }}</a> 
    {% endfor %} 

答えて

0

「ELSIF」あなたは条件付きでそのようなループを開始することができない、制御ブロックが正しく入れ子にする必要があります。あなたは何ができる何をしようとして達成するために:あなたはそれがすべて間違って持っている

{% if page.title == "Tags" %} 
    {% assign data = site.tags %} 
{% elsif page.title == "Categories" %} 
    {% assign data = site.categories %} 
{% endif %} 

{% for tag in data %} 
    <a href="#{{ tag[0] | slugify }}">{{ tag[0] }}</a> 
{% endfor %} 
0

。ネストされたループはこの方法では機能しません。 同じ条件内で開始して終了する必要があります。

if conditional 
    for loop 

    endfor 
endif 

このようなものです。

ので、それを行うための正しい方法は本

{% if page.title == "Tags" %} 
    {% for tag in site.tags %} 
     <a href="#{{ tag[0] | slugify }}">{{ tag[0] }}</a> 
    {% endfor %} 
{% elsif page.title == "Categories" %} 
    {% for tag in site.categories %} 
     <a href="#{{ tag[0] | slugify }}">{{ tag[0] }}</a> 
    {% endfor %} 
{% endif %} 

する必要がありますこのコードを使用すると、正しくしたい正確に何をすべきが、JJJ

によって答えとして、より良いアプローチがあります
関連する問題