こんにちは。
カートの画面でディスカウントを適用できるアプリを探しています。
ひとつのプロダクトに対して、
「ポートフォリオに掲載してもいい」という条件を承認したカスタマーにディスカウントが適用される仕組みを作りたいのですが、そういったニーズに合うアプリはありますでしょうか?
EX: チェックボックスにチェックを入れるとディスカウント
よろしくお願いします。
カート画面のチェックボックス連動で割引を適用したい要望に対し、専用アプリの提示ではなく、テーマ編集でディスカウントコードを自動適用する方法が提案されています。
cart.liquid に hidden の discount フィールド、チェックボックス、JavaScript を追加例では「ポートフォリオに掲載してもいい」にチェックすると、送料無料のコード XXX が自動で反映されます。画像付きで設定手順と動作確認が共有されています。
一方で制約も明示されています。
補足として、Shopify では値引きは基本的にディスカウントコード前提で、カート金額を直接変更する形はできないと説明されています。公認の実装かは不明で、完全な解決には至っておらず運用上の課題が残る状態です。
こんにちは。
カートの画面でディスカウントを適用できるアプリを探しています。
ひとつのプロダクトに対して、
「ポートフォリオに掲載してもいい」という条件を承認したカスタマーにディスカウントが適用される仕組みを作りたいのですが、そういったニーズに合うアプリはありますでしょうか?
EX: チェックボックスにチェックを入れるとディスカウント
よろしくお願いします。
カートでチェックを入れたら予め設定しているディスカウントコードを適用させることはできます。
運用上の確認もあるので最後にまとめています。
動作はSupplyのテーマで確認しています。
1.カートのタイプを変更
テーマのカスタマイズから、カートのカスタマイズをする
モーダルだと処理を追加できないので**「ページ」**へ変更
2.cart.liquidを編集
アクションのコードを編集するから cart.liquid を編集する
以下の3つのコードを挿入する
2−1
<form を探してその直後に以下を貼り付ける<input type='hidden' name='discount' id="discount" value=''>
2−2
<input type=“submit” を探してその前に以下を貼り付ける
<input type="checkbox" id="publish">
<label for="publish">ポートフォリオに掲載してもいい</label>
2−3
cart.liquidの一番最後に以下のスクリプトを貼り付ける
<script>
$(function () {
$('#publish').change(function () {
if ($(this).prop("checked")) {
$('#discount').val("XXX");
} else {
$('#discount').val("");
}
});
});
</script>
3.ディスカウントコードの作成
ディスカウントからディスカウントコードを作成する
ここでは適用すると送料が無料になる XXX というコードを作成している
設定はここまでです。
使い方
カートに「ポートフォリオに掲載してもいい」のチェックボックスが表示されるので、チェックを入れてチェックアウトを行う
チェックアウトページのURLには discount=XXX が付与されてる
![]()
チェックアウトページでは自動的にXXXが適用され、設定していた送料無料が適用されている
運用上の確認
またこの方法がShopifyで公認されている使い方がどうかはわかりません。
私のオンラインショップでも似たような要望があり実装していますが
顧客がチェックアウト時に外してしまっているのか、まれにディスカウントコードが付いていない場合もあるので、そこが悩みどころです。(テストでは様々なブラウザやデバイスで行っても確実に付与されていたのですが、ログなどが無いので顧客が外してるというのは推測の域を出ていません)
以上、ご参考になれば幸いです
書き忘れましたが、Shopifyでの値引きはディスカウントコードを発行して顧客に使ってもらうことが前提になっています。
なので直接カートの金額をこちらで一方的に変更することが出来ないようになっています。(セキュリティ上の理由だと思いますが)