Shopify - 通过自定义字段订购产品
问题描述:
我们有一个简单的Shopify商店,使用免费的“Meta Fields Editor”为每个产品添加一个简单的自定义字段整数值。有些产品的元值为3,其他为2或1.许多产品根本没有元值。我们希望能够按照降序(加权排序)为每个产品输入的元字段值在搜索结果中显示产品。但是,尽管可以设置元值并将其显示在搜索结果和集合页面中,但Shopify并不容易通过自定义元字段对产品进行排序或排序。在搜索结果页,我能够调用使用 {{item.metafields.important.important}} 到目前为止,我已经尝试使用这种方法Shopify - 通过自定义字段订购产品
{% assign products = collection.products | sort:
'item.metafields.important.important' %}
{% for product in products %}
{{ product.title }}
{% endfor %}
订购的产品,但这一结果自定义元值在空结果中。 任何人都可以给我如何以自定义字段的顺序显示产品的任何洞察力将不胜感激!
答
试图找到液体解决方案后,我终于能够使用自定义metafields和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);
}
由数据属性的节点进行排序
希望这可以帮助别人!
答
没有。不起作用。只有固定的过滤器会影响排序顺序。您可以在管理面板中手动对收集页面中的产品进行排序。