並び替えの「アルファベット順, A-Z」、「アルファベット順, Z-A」を削除するコードをご教授下さい。
Topic summary
ユーザーがShopifyのコレクション並び替えオプションから「アルファベット順, A-Z」を削除する方法を質問。
初期の問題:
Debut 17.4.1テーマを使用中、title-ascending(アルファベット順 A-Z)のみ非表示にしたいが、コードが正しく動作していない。
原因:
使用していたif文の条件が「A-Zではない または Z-Aである」となっており、論理エラーがあった。
解決策:
コードを以下のように修正:
- 修正前:
{% if option.value != "title-ascending" or option.value == "title-descending" %} - 修正後:
{% if option.value != "title-ascending" and option.value != "title-descending" %}
orをandに変更することで、両方のアルファベット順オプションを正しく非表示にできる。
結果:
ユーザーは無事実装に成功し、問題は解決済み。
はじめまして
株式会社Tsunの吉谷と申します
Dawn 8.0.0の内容になりますが、こちらの記事が参考なりましたら幸いです。
以上になります。
返信ありがとうございます。生憎ですがDebut 17.4.1を使っています。
試したコードは下記なのですが、「アルファベット順, A-Z」である"title-ascending"しか非表示にならず、もし解決策をご存知でしたら教えてほしいです。
{%- for option in collection.sort_options -%}
{% if option.value != "title-ascending" or option.value == "title-descending" %}
{% endif %}
記載しているコードは、
if文の条件が「アルファベット順, A-Zではない または アルファベット順, Z-Aである」の条件になってますので、「アルファベット順, A-Z」だけが非表示になっています。
下記のようにコードを修正し、再度試してみてもらえると幸いです
修正前
{% if option.value != "title-ascending" or option.value == "title-descending" %}
修正後
{% if option.value != "title-ascending" and option.value != "title-descending" %}
大変勉強になりました。無事実装することができました。ありがとうございました。