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

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

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

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
1133 414 723

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

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

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

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

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

 

 

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

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