FROM CACHE - jp_header

カートに入った商品によってアップセルを出し分けしたい

daytra-toshiko
Shopify Partner
1 0 0

以下のようなコードを記述したliquidをcart-template.liquidにインクルードしています。

カートに入った商品(id)によって表示するアップセルを出し分けしています。

2商品同時に入った時という条件でも設定可能でしょうか?

 

{% for item in cart.items limit:1 %}
{% if item.product.id == 7028163838122 and  7028163969194  %}
<p>同時購入がお得です</p>
{% elsif item.product.id == 7028163838122  %}
<p>商品Aがお得です</p>
{% elsif item.product.id == 7028163969194  %}
<p>商品Bがお得です</p>
{% endif %}
{% endfor %}

1件の返信1

Jizo_Inagaki
Shopify Partner
1046 393 706

2商品同時に入った時という条件でも設定可能でしょうか?

記載されたコードで実現できるかという意味でしたら以下の点から無理かなと思います。

  • limit:1 が記載されているので最後にカートに入れた商品しか判定しない
  • andのif文が間違っている
  • limit:1がなくandのif文が正しかったとしても、判定に用いられるidは1つなので、andで指定した2つを同時に満たすことは不可能

limit:1 の影響で「特定の商品がカートに入っているか否か」の判定も意図したようには動かないないように思うのですが動いていますでしょうか?

動いている場合は私の勘違いなので大変申し訳ありません。

 

 

以上ですが、仮に私が処理を書くとすればフラグ変数を作って対応するかなと思いますが、他にも方法はあると思いますので、状況やご要望にあった処理で対応されるのが良いかなと思います。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。