我在尝试生成网站时遇到语法错误。你有什么想法吗?
错误:液体语法错误:未知标记'elsif'
{% 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 :(得分:0)
您不能像这样有条件地启动循环,控制块必须正确嵌套。要完成你想要做的事情,你可以这样做:
{% 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 %}
答案 1 :(得分: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所述