Метод сортировки коллекции Shopify не работает - PullRequest
0 голосов
/ 24 апреля 2018

Shopify рекомендует использовать этот код для раскрывающегося списка "Сортировать по" на страницах своей коллекции: https://gist.github.com/carolineschnapp/11352987

Я создаю новую тему с Shopify Slate, и этот код не работает для меня. К счастью, другой разработчик прокомментировал это и предоставил лучший код. Вот код:

document.querySelector('#sort-by').addEventListener('change', function() {
  const urlSearchParams = new URLSearchParams(window.location.search);
  urlSearchParams.set(this.name, this.value);
  window.location = `?${urlSearchParams}`;
});

К сожалению, это не сработало, поскольку не добавляло "sort_by" к параметру поиска. Я адаптировал вторую последнюю строку этого кода так:

window.location = `?sort_by${urlSearchParams}`;

Это работало, но всякий раз, когда я пытался изменить параметр, страница продолжала перезагружаться и добавляла несколько «sort_by» к URL-адресу (например? Sort_bysort_by = price-убывающий & = title-возрастающий)

Можно ли как-нибудь изменить этот код, чтобы «sort_by» появлялся в URL только один раз?

1 Ответ

0 голосов
/ 24 апреля 2018

Что произойдет, если вы поменяете window.location.search на:

window.location.search.indexOf("sort_by") > -1 
? window.location.search.replace(/sort_by/gi,"")
: window.location.search

, чтобы он стал:

new URLSearchParams(
 window.location.search.indexOf("sort_by") > -1 
    ? window.location.search.replace(/sort_by/gi,"")
    : window.location.search
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...