【问题标题】:Related Products Shopify Liquid相关产品 Shopify 液体
【发布时间】:2013-04-17 15:31:33
【问题描述】:

我正在尝试确定正确的Shopify Liquid 语法以输出与当前产品具有相同标签的产品列表。

这是出现在产品页面的“相关产品”框中,我希望它只列出与当前产品页面相同标签匹配的其他产品。

很遗憾,Related Products wiki page 并没有帮到我。

【问题讨论】:

  • 一个产品可以有多个标签。您是否尝试匹配任何标签或特定标签?
  • 其实仅仅基于标签来展示相关产品并不是一个好主意。您应该使用过去的订单数据、标签、集合和许多其他因素来选择您的客户会感兴趣的相关产品。仅使用液体模板来实现这样的高级算法来选择相关产品是不可能的(由于性能问题)引擎。我为 Shopify 开发了 Recomify 相关产品应用程序 (apps.shopify.com/recomify),以使所有这些工作变得简单、快速且完全自动化。
  • @FeridMovsumov 停止向您的应用发送垃圾邮件和广告!

标签: syntax shopify liquid


【解决方案1】:

我不确定你是否可以得到一组带有公共标签的所有产品(尽管我可能错了),但这里有一种可能的替代方法来处理它 - 创建一个包含该标签的产品的智能集合,然后输出相关项目区域中该集合中的产品。

要将产品标签连接到产品页面上的正确集合,请确保您的集合句柄与您正在使用的标签相同,然后执行类似操作以根据标签获取正确的集合。

{% for c in collections %}
  {% assign t = {{product.tags[0] | handleize}} %}
  {% if c.handle == t %}
    {% assign collection = c %}
  {% endif %} 
{% endfor %}

然后使用您链接的 wiki 文章中概述的方法输出集合中的产品。

这样的事情(假设您使用“产品循环”包含方法)应该可以解决问题:

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

【讨论】:

    猜你喜欢
    • 2022-10-08
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    相关资源
    最近更新 更多