0

在我的 product.liquid 上,我正在提取我的相关产品.liquid 代码段:

{% if collection and collection.products_count > 1 %}

<div class="row">
  <div class="span12">
    <h2 class="collection-title">Related products</h2>
  </div>
</div> 

<div class="row products">

{% assign current_product = product %}
{% assign current_product_found = false %}
{% for product in collection.products limit: 5 %}
  {% if product.handle == current_product.handle %}
    {% assign current_product_found = true %}
  {% else %}
    {% unless current_product_found == false and forloop.last %}
      {% include 'product-loop-shop' with collection.handle %}
    {% endunless %}
  {% endif %}
{% endfor %}

</div>

{% endif %}

当我第一次从主页单击产品时,会显示相关产品,当我单击其中一个相关产品时,底部的整个相关产品块不会出现。

如果我遗漏了什么,请告诉我。

4

1 回答 1

1

collection变量仅在集合页面(使用collection.liquid模板的页面)上设置。在产品页面(使用product.liquid模板的页面)中,通常未设置。

嵌套产品页面 ( ) 是在产品页面中设置变量/collection/sale/product/my_product的唯一例外(使用)。collectionproduct.liquid

因此,要解决您的问题,您可以使用两种方法:

  • 对 中的所有产品 url使用within 过滤器product-loop-shop,因此生成的 url 将始终嵌套在集合中
  • collections 使用变量(注意额外的 s )显示相关产品,这是一个通用变量,因此始终设置
于 2013-08-19T07:07:23.047 回答