2017-04-26 64 views
0

我目前正在研究shopify网站,并需要在产品页面上创建一个过滤器。我的目标是在产品收集页面的不同部分显示底漆。我遇到的问题是如何过滤引物。我们在名为“Primer”的产品页面中设置了一个标签。我想要的是循环检查产品是否有引物标签,如果是,则将其显示为循环中的产品之一。我对Liquid比较陌生,所以如果可能的话,我不知道如何组合子句。我查阅了“Where”条款,但并不完全了解它的工作原理。如何结合液体中的Where子句

下面是代码,因为它主张:

<div class="{% if settings.show_collection_sidebar %}desktop-10{% else 
%}desktop-12{% endif %} tablet-6 mobile-3" id="bside"> 

<div id="product-loop"> 
    {% for product in collection.products %} 
    <div class="product {% if settings.products_per_row == '3' %} 
       desktop-4{% cycle ' first', '', ' last' %} 
       {% elsif settings.products_per_row == '4' %} 
       desktop-3{% cycle ' first', '', '', ' last' %} 
       {% endif %} tablet-half mobile-half" 
     id="prod-{{ product.id }}" 
     data-alpha="{{ product.title }}" 
     data-price="{{ product.price }}"> 

     {% include 'product-listing' %} 
    </div> 
    {% endfor %} 
</div> 

</div> 

我怎么能筛选出预期的效果?我在很多地方试过{% if product.tags contains 'Primer' %},但无济于事。

感谢您的帮助。

+0

此代码来自哪个页面?收藏页面或产品页面? – HymnZ

回答

0

你有没有考虑过使用两个集合来实现你的目标?

如果你做了所有的引物(假设手柄的收集是“引”),动态(“SMART”)集合,可以通过液体随时访问该集合:

{% assign primer_collection = collections['primer'] %} 
{% for product in primer_collection.products %} 
<h2>HAVE SOME {{ product.title }}!</h2> 
{% endfor %} 

然后,如果您想从主集合中排除所有的引物产品,请创建一个名为'all'的集合(或至少使用'all'这个句柄 - 实际标题不严格 - 请参阅脚注)。默认情况下,'All'集合的名称和商店中的每个产品都是如此。但是,如果您创建自己的'all'集合,则可以将其定义为“除特定项目外的所有内容” - 在您的情况下,'除底漆外的所有内容'0128自己大大降低了试图

  • 把手后 - 事实和处理误导性的项目计数,不均匀分页等应用过滤头痛:在每个收集和产品在各自的Shopify管理员的底部是SEO设置。编辑这些可以让您更改收藏品/产品的手柄,这是Shopify用于在内部查找收藏品/产品的内容