以下のようなコードを記述したliquidをcart-template.liquidにインクルードしています。
カートに入った商品(id)によって表示するアップセルを出し分けしています。
2商品同時に入った時という条件でも設定可能でしょうか?
{% for item in cart.items limit:1 %}
{% if item.product.id == 7028163838122 and 7028163969194 %}
同時購入がお得です
{% elsif item.product.id == 7028163838122 %}
商品Aがお得です
{% elsif item.product.id == 7028163969194 %}
商品**B**がお得です
{% endif %}
{% endfor %}
2商品同時に入った時という条件でも設定可能でしょうか?
記載されたコードで実現できるかという意味でしたら以下の点から無理かなと思います。
- limit:1 が記載されているので最後にカートに入れた商品しか判定しない
- andのif文が間違っている
- limit:1がなくandのif文が正しかったとしても、判定に用いられるidは1つなので、andで指定した2つを同時に満たすことは不可能
limit:1 の影響で「特定の商品がカートに入っているか否か」の判定も意図したようには動かないないように思うのですが動いていますでしょうか?
動いている場合は私の勘違いなので大変申し訳ありません。
以上ですが、仮に私が処理を書くとすればフラグ変数を作って対応するかなと思いますが、他にも方法はあると思いますので、状況やご要望にあった処理で対応されるのが良いかなと思います。