如果收藏中有Shopify,则显示此

如果收藏中有Shopify,则显示此,shopify,Shopify,我试图写一个简单的if语句,但总是与shopify的系统斗争 基本上,我希望它做到这一点: {%if collection.product=='已停止'%} 该产品已停产。 {%endif%} 如果它在此集合中,则显示此文本/html。否则它不会显示任何内容。这将在product.liquid模板中 有什么想法吗?如果我了解液体收集在Shopify中的工作原理,您需要对所有产品进行迭代 如果您直接使用集合,则需要执行类似的操作: {% for product in collection.prod

我试图写一个简单的if语句,但总是与shopify的系统斗争

基本上,我希望它做到这一点:

{%if collection.product=='已停止'%} 该产品已停产。 {%endif%}

如果它在此集合中,则显示此文本/html。否则它不会显示任何内容。这将在product.liquid模板中


有什么想法吗?

如果我了解液体收集在Shopify中的工作原理,您需要对所有产品进行迭代

如果您直接使用集合,则需要执行类似的操作:

{% for product in collection.product %}
  {% if product.tags contains 'discontinued' %}
    This product has been discontinued :(
  {% endif %}
{% endfor %}
如果您只使用单个产品,您可能只需要使用内部
If
liquid标签部件

参考资料:


您确实可以将停产产品添加到名为“停产”的集合中


在呈现产品时,您可以按照csaunders的建议执行操作,只需循环遍历已终止集合中的所有产品,并检查当前产品的id是否与该集合中的任何产品匹配。如果是这样,做你必须做的。无需使用标签。

这就是最终起作用的原因:

{% for c in product.collections %}
{% if c.handle == "discontinued" %}
This product is Discontinued 
{% endif %}
{% endfor %}

我想这对任何人都有帮助,我已经在shopify网站的边栏中使用过。 当前集合页面将通过以下代码进行检查

<div class="row-fluid not-animated" data-animate="fadeInUp">
<div class="title">By Collections</div>
<form class="coll">
{% assign col_tags = collection.title %}

{% for collection in collections %}

<input type="radio" value="{{ collection.url }}" name="collections"  {% if col_tags contains collection.title %} checked {% endif %} >{{ collection.title | escape }} <br/>

 {% endfor %}
 </form>

按集合
{%assign col_tags=collection.title%}
{集合%中的集合的%s}
{{collection.title | escape}}
{%endfor%}

那么您认为除了使用标签之外,没有其他方法在产品页面上定位一个集合了吗?我的意思是,我可以为停产的产品使用标签,但更愿意通过将其添加到停产的“系列”中来定位它们。希望这是有道理的……哦,当然你也可以这么做。但是你需要检查集合的标题,而不是产品:)我已经做了这个特别的
code:{%为集合中的产品['discontracted'].products%}这个产品已经停产:({%endfor%}
但它试图显示已停产产品的列表,而不仅仅是显示我的信息。不过,我仍在努力解决这个问题。哦,它对所有产品都是这样做的,不管它在哪个系列中。真的不喜欢Shopify的设置方式。一旦你完成了液体和使用的初始学习曲线模板,您可能会喜欢。替代方案在大多数情况下都要糟糕得多。如果您有大量产品,这会对性能造成影响。通过产品所属的集合进行循环比通过集合中的所有产品进行循环要容易/快得多。我不同意这种情况。您能演示一下吗你的建议更快?我不是一个数学向导,但是…假设你在一个集合中循环5000个产品,你比较看产品ID是否与其中一个匹配,而产品属于3个集合,你比较看这3个集合中是否有一个是“折扣”。循环5000如何比循环thr更快3号?