我们有一个简单的Shopify商店,使用免费的"元字段编辑器"为每个产品添加一个简单的自定义字段整数值。有些产品的元值为3,其他为2或1.许多产品根本没有元价值。我们希望能够通过按降序输入的每个产品的元字段值(加权排序)在搜索结果中显示产品。但是,尽管能够设置元值并将其显示在搜索结果和集合页面中,但Shopify并不容易通过自定义元字段对产品进行排序或排序。在搜索结果页面中,我可以使用调用自定义元值 {{item.metafields.important.important}} 到目前为止,我已尝试使用此方法订购产品
{% assign products = collection.products | sort:
'item.metafields.important.important' %}
{% for product in products %}
{{ product.title }}
{% endfor %}
但这会导致结果为空。 任何人都可以根据自定义字段的顺序向我展示如何展示产品的任何见解将非常感激!
答案 0 :(得分:1)
在尝试找到Liquid解决方案后,我终于能够使用自定义元字段和jQuery解决此问题。在Shopify集合模板中,我添加了要包含在每个产品中的数据属性,如下所示:
<div id="product_list">
<div data-imp="{{product.metafields.important.important}}" class="product_block" /> PRODUCT #1 </div>
<div data-imp="{{product.metafields.important.important}}" class="product_block" /> PRODUCT #2 </div>
</div>
然后我使用一个简单的jQuery函数按数据属性按降序对节点进行排序
var $wrapper = $('#product_list');
$wrapper.find('.product_block').sort(function (a, b) {
return +b.dataset.imp - +a.dataset.imp;
})
.appendTo( $wrapper );
}
希望这有助于某人!
答案 1 :(得分:0)
不。不行。只有固定过滤器才会影响排序顺序。您可以在管理面板中的集合页面中手动对产品进行排序。