我刚刚在 Shopify 网站上进行一些液体模板编码。在分配或捕获标签中定义变量名称时如何使用 for 循环索引/变量?即:我正在尝试压缩代码以从按顺序编号的设置创建多个链接菜单,其中 [i] 是设置键中 2 到 4 之间的数字。
将该数字插入到的正确语法是什么 a) 诸如 if 语句或赋值之类的标签。 b) 插入的文本,如下面的 h3 元素。 c) 一个嵌套/括号内的关键语句(抱歉,如果这不是它的名字,我还在学习),就像第二个 for 语句一样。
{% 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 %}
最佳答案
您需要使用square bracket notation而不是点符号。
创建一个包含变量名称的字符串(使用分配
或捕获
),然后使用方括号表示法访问具有该名称的设置。
例如:
{% capture var %}footer_quicklinks_enable_{{i}}{% endcapture %}
{% if settings[var] %}
另请参阅this similar answer .
关于for-loop - Shopify Liquid 如何在分配或捕获标签中使用 for 循环索引变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32874291/