我刚刚在Shopify网站上进行了一些液体模板编码。在assign或capture标签中定义变量名时,如何使用for循环索引/变量?即:我试图压缩代码以从顺序编号的设置创建多个链接菜单,其中[i]将是设置键中2到4之间的数字。
将该数字插入的正确语法是什么 a)像if语句或赋值的标签。 b)内插文本,如下面的h3元素。 c)一个嵌套/括号的关键语句(对不起,如果它不是它所谓的,我还在学习),就像在第二个语句中一样。
{% for i in (2..4) %}
{% if settings.footer_quicklinks_enable[i] %}
<div class="grid-item medium--one-half large--three-twelfths">
<h3>{{ 'layout.footer.quick_links{{i}}' | t }}</h3>
<ul>
{% for link in linklists[settings.footer_quicklinks_linklist[i]].links %}
<li><a href="{{ link.url }}">{{ link.title }}</a></li>
{% endfor %}
</ul>
</div>
{% endif %}
{% endfor %}
答案 0 :(得分:2)
您需要使用square bracket notation代替点表示法。
创建一个包含变量名称(包含assign
或capture
)的字符串,然后使用方括号表示法访问具有该名称的设置。
例如:
{% capture var %}footer_quicklinks_enable_{{i}}{% endcapture %}
{% if settings[var] %}