【问题标题】:Shopify Liquid How do I use for-loop index variables in an assign or capture tag?Shopify Liquid 如何在分配或捕获标签中使用 for 循环索引变量?
【发布时间】:2015-12-28 17:21:32
【问题描述】:

我刚刚开始在 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 %}

【问题讨论】:

    标签: for-loop interpolation shopify liquid


    【解决方案1】:

    您需要使用square bracket notation 而不是点表示法。

    创建一个包含变量名称的字符串(使用assigncapture),然后使用方括号表示法访问具有该名称的设置。

    例如:

    {% capture var %}footer_quicklinks_enable_{{i}}{% endcapture %}
    {% if settings[var] %}      
    

    另见this similar answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      相关资源
      最近更新 更多