2016-10-04 3 views
1

Ich versuche, den Zugang aus dem Wettbewerb um die Bestseller sehen zu verstecken, und zwar eine URL wie folgt aus:Shopify ausblenden Best Sellers

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

Ich habe versucht {% if collection.url contains 'sort_by=best-selling' %}, aber das funktioniert nicht. Gibt es eine Möglichkeit, eine URL mit einer angefügten Abfragezeichenfolge anzugeben?

Wenn nicht, irgendwelche Vorschläge?

Danke!

Antwort

0

Leider collection.url die Abfrage nicht String zurück, in Ihrem Beispiel wäre es Ausgabe /collections/all

Ich glaube nicht, es gibt einen Weg in Liquid das aktuelle URL Query-String zu erhalten. Sie können nur den Standard-Sortiertyp mit collection.default_sort_by : 'price' gesetzt oder alle Sortier mit {% assign products = collection.products | sort: 'price' %}

Sie können überschreiben die sort_by Query-String-Parameter mit jQuery außer Kraft setzen ersetzen best-selling durch 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> 

diesen Code mit Ihrem Beispiel, es würde die Seite www.store.myshopify.com/collections/all?sort_by=best-selling automatisch umleiten auf www.store.myshopify.com/collections/all?sort_by=price

Aber bedenken Sie, dass Ihre Konkurrenten diesen JS-Code und immer noch ac deaktivieren können cess die meistverkauften Artikel.