Я пытаюсь найти способ для следующего: Я изменяю жидкий шаблон, чтобы также включать найденные варианты продукта на странице результатов поиска. Но когда я делаю это, количество видимых продуктов / вариантов продуктов в результатах поиска сильно различается и приводит к плохому UX.
У нас есть пагинация на 28 пунктов. Но это только факторы в количестве продуктов, которые это уже показало. Поскольку сейчас я также показываю варианты продуктов, на страницах очень большое количество элементов. Если я уменьшу предел нумерации страниц, скажем, до 4, я получу страницы, которые содержат ровно 4 записи, и страницы, скажем, 500 записей, в зависимости от подходящих вариантов для данного поискового запроса.
Это общая цель: Показать варианты товаров на странице результатов поиска, а также товары по умолчанию и по-прежнему иметь правильную нумерацию страниц, отображающую фиксированное количество товаров / вариантов / элементов результатов поиска на странице.
Мой подход был таков:
{% capture total_results %}
{%- for result in search.results -%}
{%- case result.object_type -%}
{%- when 'product' -%}
// Go over all the variants and match to the search terms
// Include product-grid-item template in case it matches
{%- when 'article' -%}
{%- when 'page' -%}
{%- endcase -%}
<!-- Divider: #### -->
{%- endfor -%}
{% endcapture %}
{% comment %}Break the captured string at the divider string into an array{% endcomment %}
{%- assign total_results = total_resuls | split: "<!-- Divider: #### -->" -%}
<div class="page__description page__description--centered">
<span>{{ 'search.general.results_count' | t: count: total_results.size, terms: search_terms }}</span>
</div>
{% paginate total_result by 28 %}
{% for result in total_resuls %}
{{ result }}
{% endfor %}
{% endpaginate %}
Я получаю следующую ошибку во внешнем интерфейсе: Array 'total_results' is not paginateable.
Есть ли способ сделать его paginateble?
Или есть способ изменить коллекцию search.results напрямую, чтобы нумерация страниц учитывала не только количество результатов поиска Shopify, но и их вариации?
Причина, по которой мы это делаем это, кстати, то, что shopify, похоже, находит продукты, основываясь на информации, где только вариант соответствует Но в этом случае он только ссылается на продукт, и пользователю необходимо снова вручную ввести go для правильного варианта, что очень плохо для UX.
Даже если пользователь выполняет поиск по идентификатору напрямую, он связывается с обычная страница товара. И мы хотим, чтобы они были напрямую связаны с правильным вариантом, поэтому продукт был включен в результаты поиска.
Любая помощь будет признательна. Или указатели на то, как еще я мог бы достичь этого.