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.