Shopify隐藏畅销书

时间:2016-10-04 02:57:53

标签: shopify liquid

我试图隐藏查看畅销书的竞争对手,特别是使用这样的网址:

www.store.myshopify.com/collections/all?sort_by=best-selling

我已经尝试{% if collection.url contains 'sort_by=best-selling' %},但这不起作用。有没有办法使用附加的查询字符串来定位URL?

如果没有,有什么建议吗?

谢谢!

1 个答案:

答案 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代码并仍然可以访问最畅销的商品。