Skip to main content
Subscription upgrade ブロックは、Cart items の中にネストされるサブブロックです。対象となる単発購入のラインアイテムをカートから直接サブスクリプションに切り替えるよう購入者に促し、意思決定の瞬間に単発購入を継続収益へと変えます。また、すでに購読中の購入者は、そのラインでプランの変更やキャンセルができます。

動作

  • 対象ラインにのみ表示されます。 ブロックは商品の販売プランを読み取り、サブスクリプションプランのない商品のラインには何もレンダリングしません。
  • リワードのギフトには表示されません。 自動付与された無料ギフトを購読に切り替えるとリワードステータスが失われるため、そうしたラインではプロンプトが抑制されます。
  • 単発購入のラインでは、アップグレードのコールトゥアクションを表示します。
  • すでに購読中のラインでは、プランセレクターと「単発購入にダウングレード」オプションを表示します。

設定

配置と制限

  • 親: Cart items の中にのみネストします。
  • 最大数: カートごとに 1 つ。
  • デフォルトでは追加されません。ロックもされていないため、削除や非表示が可能です。
サブブロックであるため、ラインごとにレンダリングされ、Product row との相対的な配置に応じて商品コンテンツの上または下に表示されます。サブブロックの配置のしくみを参照してください。

カスタムテンプレート

Code タブからカスタムテンプレートをサポートしており、このブロックの組み込みマークアップをあなたの JSX に置き換えます。受け取る props は以下のとおりです。 このブロックは 2 つの状態のいずれかをレンダリングし、どちらかは view.state が示します。カスタムテンプレート内で viewnull になることはありません。ラインにプランがない場合、ブロックは何もレンダリングせず、テンプレートも呼び出されません。 view.plans の各エントリは { id: number, name: string, discountPercent: number } です。
<select> には onChange を、ボタンには selectPlan を使ってください。onChangeoneTimeValue のセンチネルをすでに処理しています。<select> に独自のハンドラーを接続する場合は、自分で oneTimeValue と比較して selectPlan(null) を呼ぶ必要があります。

デザイン

このブロックのスタイルは、設定パネルの Design セクションで調整します。これらはブロック単位のオーバーライドで、グローバルデザインの上に重なり、空欄の場合はグローバル設定にフォールバックします。 デザイン設定とは何か? 詳しくはこちら: デザイン設定