FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

collection.filtersで実装した絞り込みの挙動が不安定

collection.filtersで実装した絞り込みの挙動が不安定

kazu2
訪問者
1 0 0

絞り込み検索機能を実装したのですが、検索フォームが更新すると非表示になったり表示したりと不安定な状態です。

テスト開発環境では問題がなく動作しましたが本番環境では不安定です。

 

【試したこと】

・DOWNテーマをインストールし記述したコードをコピペ→×

・テスト環境のコードを本番環境にコピペ→×

・サイトのリファクタリング→×

 

【コード】記述場所はコレクションページです

{% comment %} 絞り込み {% endcomment %}
<form class="filter-form">
<div class="filter_group_wrap">
{%- for filter in collection.filters -%}
<div class="filter-group">
<div>
<div>
<h3>{{ filter.label }}</h3>
</div>
</div>

<div class="filter-group-display">
{%- case filter.type -%}
{%- when 'boolean' or 'list' -%}
<ul class="filter-group-display__list">
{%- for filter_value in filter.values -%}
<li class="filter-group-display__list-item">
<label for="Filter-{{ filter.param_name }}-{{ forloop.index }}">
<input
type="checkbox"
name="{{ filter_value.param_name }}"
value="{{ filter_value.value }}"
id="Filter-{{ filter.param_name }}-{{ forloop.index }}"
{% if filter_value.active -%}checked{%- endif %}
{% if filter_value.count == 0 and filter_value.active == false -%}disabled{%- endif %}>{{ filter_value.label }}</label>
</li>
{%- endfor -%}
</ul>


{%- when 'price_range' -%}
<div class="filter-group-display__price-range">
<div class="filter-group-display__price-range-from">
<span>{{ cart.currency.symbol }}</span>

<input
name="{{ filter.min_value.param_name }}"
id="Filter-{{ filter.min_value.param_name }}"
{% if filter.min_value.value -%}value="{{ filter.min_value.value | money_without_currency | replace: ',', '' }}"{%- endif %}type="number"placeholder="0"min="0"max="{{ filter.range_max | money_without_currency | replace: ',', '' }}">

<label for="Filter-{{ filter.min_value.param_name }}">から</label>
</div>
<div class="filter-group-display__price-range-to">
<span>{{ cart.currency.symbol }}</span>

<input
name="{{ filter.max_value.param_name }}"
id="Filter-{{ filter.max_value.param_name }}"
{% if filter.max_value.value -%}value="{{ filter.max_value.value | money_without_currency | replace: ',', '' }}"{%- endif %}type="number"placeholder="{{ filter.range_max | money_without_currency | replace: ',', '' }}"min="0"max="{{ filter.range_max | money_without_currency | replace: ',', '' }}">

<label for="Filter-{{ filter.max_value.param_name }}">まで</label>
</div>
</div>


{%- endcase -%}
</div>
</div>
{%- endfor -%}
</div>
<div class="active-filters">


{%- for filter in collection.filters -%}
{%- if filter.type == "price_range" -%}
{%- if filter.min_value.value != nil or filter.max_value.value != nil -%}
<p class="active-filters__remove-filter" href="{{ filter.url_to_remove }}">
{%- assign min_value = filter.min_value.value | default: 0 -%}
{%- assign max_value = filter.max_value.value | default: filter.range_max -%}
{{ min_value | money }} - {{ max_value | money }}
</p>
{%- endif -%}
{%- else -%}
{%- for filter_value in filter.active_values -%}
<p class="active-filters__remove-filter" href="{{ filter_value.url_to_remove }}">
{{ filter.label }}: {{ filter_value.label }}
</p>
{%- endfor -%}
{%- endif- %}
{%- endfor -%}
</div>

<div class="filter_submit_reset_wrap">
<div class="filter_reset">
<a href="{{ collection.url }}?sort_by={{ collection.sort_by }}" class="active-filters__clear">リセットする</a>
</div>
<div class="filter-group-display__submit">
<input type="submit" value="絞り込み">
</div>
</div>
</form>

0件の返信0