2016-10-04 2 views
1

Я пытаюсь скрыть доступ от конкуренции просмотра бестселлеров, в частности, используя URL вроде этого:Shopify Скрыть Бестселлеры

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

Я пробовал {% if collection.url contains 'sort_by=best-selling' %}, но это не работает. Есть ли способ настроить URL-адрес с помощью строки запроса?

Если нет, любые предложения?

Спасибо!

ответ

0

К сожалению collection.url не возвращает строку запроса, в вашем примере, это будет выход /collections/all

Я не думаю, что есть способ в жидкости, чтобы получить текущую строку запроса URL. Вы можете только установить тип сортировки по умолчанию с collection.default_sort_by : 'price' Или переопределить все сортировки с {% assign products = collection.products | sort: 'price' %}

Вы можете переопределить параметр строки sort_by запроса с помощью JQuery для замены 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-код и все еще работать вырезать бестселлеры.

 Смежные вопросы

  • Нет связанных вопросов^_^