Shopify 的 all_products[ ] 只接受标题

Shopify' s all_products[ ] does only accept title

对于客户,我正在构建一种方法来选择在产品页面的推荐产品部分中显示哪些产品。为此,我考虑将要展示的产品的手柄插入产品的标签部分。

所以我能够遍历产品中的所有标签,然后对于每个标签,我都会获取产品 object 并显示它。问题是这段代码似乎不起作用:

{% for tag in tags %}
  {% for single_product in all_products[tag] %}
      {{ single_product }}
  {% endfor %}
{% endfor %}

此代码确实有效:

{% for tag in tags %}
  {% for single_product in all_products[tag].title %} <---- Added .title
      {{ single_product }}
  {% endfor %}
{% endfor %}

遗憾的是,我需要整个产品 object 来显示它,而不仅仅是产品标题。我如何在 shopify 中实现这一点?

补充信息:此代码位于 framework--product-recommendations.liquid 文件中

解决方案是使用集合而不是 all_product。我创建了一个包含所有产品的集合,并且完全能够遍历它。

我的代码现在看起来像这样:

          {% for tag in tags %}
            {% for single_product in all_the_products %}
                {% if tag == single_product.handle %}
                    <div class="product-recommendations--item">
                    {%
                    render 'framework--product--item',
                    product: single_product,
                    view: 'grid'
                    %}  
                    </div>
                {% endif %}
            {% endfor %}
          {% endfor %}

all_the_products 分配给包含所有产品的集合。