我试图隐藏查看畅销书的竞争对手,特别是使用这样的网址:
www.store.myshopify.com/collections/all?sort_by=best-selling
我已经尝试{% if collection.url contains 'sort_by=best-selling' %}
,但这不起作用。有没有办法使用附加的查询字符串来定位URL?
如果没有,有什么建议吗?
谢谢!
答案 0 :(得分:0)
不幸的是collection.url
没有返回查询字符串,在您的示例中,它会输出/collections/all
我认为Liquid中没有办法获取当前的url查询字符串。您只能使用collection.default_sort_by : 'price'
设置默认排序类型
或者使用{% assign products = collection.products | sort: 'price' %}
您可以使用jQuery覆盖sort_by
查询字符串参数,以best-selling
替换price
:
<script type="text/javascript">
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
return results[1] || 0;
}
var sort_by = $.urlParam('sort_by');
if(sort_by == "best-selling") {
var url = window.location.href;
url = url.replace("best-selling", "price"); // override to sort by price
window.location.href = url; // redirect to url
}
<script>
在您的示例中使用此代码,它会自动将页面www.store.myshopify.com/collections/all?sort_by=best-selling
重定向到www.store.myshopify.com/collections/all?sort_by=price
但请记住,您的竞争对手可以禁用该JS代码并仍然可以访问最畅销的商品。