← back to Dw Theme Boost Fix
sections/predictive-search.liquid
219 lines
{%- if predictive_search.performed -%}
{% liquid
assign search_results = false
if predictive_search.resources.products.size > 0 or predictive_search.resources.collections.size > 0 or predictive_search.resources.articles.size > 0 or predictive_search.resources.pages.size > 0
assign search_results = true
endif
%}
<div
class="
predictive-search-results
{% if predictive_search.resources.products.size > 0 and predictive_search.resources.pages.size > 0 or predictive_search.resources.articles.size > 0 %}
predictive-search-results--multi-column
{% endif %}
"
>
{%- if predictive_search.resources.queries.size > 0 or predictive_search.resources.collections.size > 0 -%}
<div class="predictive-search-query-suggestions">
<h2 class="predictive-search-heading">
{{- 'general.predictive_search.query_suggestions_heading' | t -}}
</h2>
<ul class="predictive-search-results-list" role="listbox">
{%- for query in predictive_search.resources.queries -%}
<li class="predictive-search-results-list__item" role="option">
<a class="predictive-search-results-list__item-result" href="{{ query.url }}">
{{- query.styled_text -}}
</a>
</li>
{%- endfor -%}
{%- for collection in predictive_search.resources.collections -%}
<li class="predictive-search-results-list__item" role="option">
<a class="predictive-search-results-list__item-result" href="{{ collection.url }}">
{{- collection.title | escape -}}
</a>
</li>
{%- endfor -%}
</ul>
</div>
{%- endif -%}
{%- if predictive_search.resources.products.size > 0 -%}
<div class="predictive-search-product-suggestions" data-predictive-search-product-suggestions>
<h2 class="predictive-search-heading">
{{- 'general.predictive_search.product_suggestions_heading' | t -}}
</h2>
<ul class="predictive-search-results-list" role="listbox">
{%- for product in predictive_search.resources.products -%}
<li class="predictive-search-results-list__item" role="option">
<a class="predictive-search-results-list__item-result" href="{{ product.url }}">
<div class="predictive-search-results-list__item-result-container">
<div class="predictive-search-results-list__product-item-image-container">
<figure>
{%- if product.featured_media != blank -%}
{%
render 'rimg',
img: product.featured_media.preview_image,
alt: product.featured_media.preview_image.alt,
size: '300x',
lazy: true,
%}
{%- else -%}
{{- 'product-1' | placeholder_svg_tag: 'placeholder-svg' -}}
{%- endif -%}
</figure>
</div>
<div class="predictive-search-results-list__product-item-content">
<span class="predictive-search-results-list__product-item-vendor">
{{- product.vendor -}}
</span>
<h3 class="predictive-search-results-list__product-item-heading">
{{- product.title | escape -}}
</h3>
<p class="predictive-search-results-list__product-item-price">
{%- if product.price_varies -%}
{{- 'products.product.from' | t -}}
{%- if product.compare_at_price_min > product.price_min -%}
<span class="money">
{{- product.price_min | money -}}
</span>
<span class="original money">
{{- product.compare_at_price_min | money -}}
</span>
{%- else -%}
<span class="money">
{{- product.price_min | money -}}
</span>
{%- endif -%}
{%- else -%}
{%- if product.compare_at_price_min > product.price_min -%}
<span class="money">
{{- product.price_min | money -}}
</span>
<span class="original money">
{{- product.compare_at_price_min | money -}}
</span>
{%- else -%}
<span class="money">
{{- product.price_min | money -}}
</span>
{%- endif -%}
{%- endif -%}
</p>
{%- assign variant_for_unit_price = product.variants | sort: 'price' | first -%}
{%- if variant_for_unit_price.unit_price -%}
{% comment %}Inject unit-price begin{% endcomment %}
{% comment %}
@param variant_for_unit_price
Product variant for price
@param tax_text
String containing 'tax included' text
{% endcomment %}
{% capture total_quantity %}
<span class="product-price__unit-price-total-quantity" data-unit-price-quantity>
{{ variant_for_unit_price.unit_price_measurement.quantity_value }}{{ variant_for_unit_price.unit_price_measurement.quantity_unit }}
</span>
{% endcapture %}
{% capture unit_price %}
<span class="product-price__unit-price-amount money" data-unit-price-amount>
{{ variant_for_unit_price.unit_price | money }}
</span>
{% endcapture %}
{% capture unit_measure %}
<span class="product-price__unit-price-measure" data-unit-price-measure>
{%- if variant_for_unit_price.unit_price_measurement.reference_value != 1 -%}
{{ variant_for_unit_price.unit_price_measurement.reference_value }}
{%- endif %}
{{ variant_for_unit_price.unit_price_measurement.reference_unit }}
</span>
{% endcapture %}
<div
class="
product-price__unit-price
{% unless variant_for_unit_price.unit_price_measurement %}hidden{% endunless %}
"
data-unit-price
>
{{ 'products.product.price_per_unit_html' | t: total_quantity: total_quantity, unit_price: unit_price, unit_measure: unit_measure | strip_newlines }}
</div>
{% assign variant_for_unit_price = blank %}
{% comment %}Inject unit-price end{% endcomment %}
{%- endif -%}
</div>
</div>
</a>
</li>
{%- endfor -%}
</ul>
</div>
{%- endif -%}
{%- if predictive_search.resources.pages.size > 0 or predictive_search.resources.articles.size > 0 -%}
<div class="predictive-search-page-and-post-suggestions">
<h2 class="predictive-search-heading">
{% if predictive_search.resources.articles.size > 0 and predictive_search.resources.pages.size > 0 %}
{{- 'general.predictive_search.pages_and_posts_suggestions_heading' | t -}}
{% elsif predictive_search.resources.articles.size > 0 %}
{{- 'general.predictive_search.posts_suggestions_heading' | t -}}
{% elsif predictive_search.resources.pages.size > 0 %}
{{- 'general.predictive_search.pages_suggestions_heading' | t -}}
{% endif %}
</h2>
<ul class="predictive-search-results-list" role="listbox">
{%- for article in predictive_search.resources.articles -%}
<li class="predictive-search-results-list__item" role="option">
<a class="predictive-search-results-list__item-result" href="{{ article.url }}">
{{- article.title | escape -}}
</a>
</li>
{%- endfor -%}
{%- for page in predictive_search.resources.pages -%}
<li class="predictive-search-results-list__item" role="option">
<a class="predictive-search-results-list__item-result" href="{{ page.url }}">
{{- page.title | escape -}}
</a>
</li>
{%- endfor -%}
</ul>
</div>
{%- endif -%}
{%- unless search_results -%}
<div class="predictive-search-no-results">
<p class="predictive-search-no-results__text">
{{- 'general.predictive_search.no_results_text' | t -}}
</p>
</div>
{%- endunless -%}
<div class="predictive-search-footer">
<button
class="predictive-search-footer__button"
type="submit"
data-predictive-search-button
>
{{- 'general.predictive_search.search_button_label' | t: search_terms: predictive_search.terms -}}
</button>
</div>
</div>
{%- endif -%}