【问题标题】:Adding a Variable in For Loop Liquid在 For Loop Liquid 中添加变量
【发布时间】:2018-04-18 00:13:09
【问题描述】:

是否可以在for循环语句中分配一个变量并使用该变量?

我正在尝试将产品集合放在博客中,而不必为需要集合的每篇文章创建新的 for 循环。

我所做的是使用文章的标签并在集合句柄之前进行拆分,以便我可以将其注入 for 循环中,但它还不能完全动态地工作......

这就是我所做的......我在文章标签中添加了

collection_some-page-handle
然后在文章.liquid
    {% for tag in article.tags %}

      {% assign tagMap = tag | split: '_' %}
      {% if tagMap.first == 'collection' %}
        {% assign collectionName = tagMap.last %}
      {% endif %}
    {% endfor %}
    {{collectionName}} <!-- this shows the handle of the collection -->
    {% for product in collections.collectionName.products limit: 8%}
    <div class="productWrap">
            <a href="{{ product.url}}"><img src="{{ product.featured_image | product_img_url: 'medium' }}" alt=""></a>
          <a href="{{product.url}}"><p class="product_title" style="border-top:1px solid #efefef;">{{ product.title | split: ' - ' | first }}</p></a>
    </div>
    {%endfor%}

现在,如果我尝试将变量放在 for 循环中它不起作用,但当然如果我放入实际句柄它会起作用。有没有办法动态地做到这一点?

【问题讨论】:

    标签: shopify liquid


    【解决方案1】:

    不要使用collections.collectionName,而是使用collections[collectionName]

    如果您的变量确实具有正确的句柄,这应该可以解决您的问题。

    为了澄清当你使用collections.collectionName 你说 - “给我一个有句柄collectionName`的集合。

    当您使用 collections[collectionName] 时,您会说 - “给我一个使用变量 collectionName 作为句柄的集合。”

    【讨论】:

    • 完全解决了!我不知道我能做到这一点!这是完美的!救生员
    猜你喜欢
    • 2018-12-14
    • 2018-09-11
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多