商品ハンドルによる条件分岐がうまく機能しない

一部の商品詳細ページで異なるデザインにしたく、条件分岐で別々のスニペットファイルを読み込みたいのですがうまくいきません。

現状は下記のとおりです。

  • 商品詳細ページでセクションファイルpage-product.liquidを挿入。

  • page-product.liquid内で商品A(ハンドル A)とB(ハンドル B)はスニペットファイルproduct-a.liquidを、商品C(ハンドル C)はスニペットファイルproduct-c.liquidを読み込みたい。
    そのためにセクションファイルpage-product.liquidで下記のように実装。

          {% if product.handle contains 'A' or 'B' %}
            {% render 'product-a' %}
          {% elsif product.handle == 'C' %}
            {% render 'product-b' %}
          {% endif %}
    

しかし商品Cでもproduct-a.liquidの内容が読み込まれてしまいます。
条件分岐の使い方として間違っているのでしょうか。

ご回答頂けますと幸いです。

@ec_man

ご質問いただたいている、商品ハンドルによる条件分岐がうまくいかない件ですが、記載いただいているコードを拝見すると、一行目の条件は「product.handleが’A’を含む、または’B’が真である(つまり、常に真)」という意味になりますので、下記のように最初の条件を変更いただけましたら、ご要望の分岐になるかと思います。

{% if product.handle contains 'A' or product.handle contains 'B' %}
  {% render 'product-a' %}
{% elsif product.handle == 'C' %}
  {% render 'product-b' %}
{% endif %}

ご参考まで
(キュー小坂)

1 Like

無事に解決しました!

ありがとうございました!