Skip to main content
Блок Subscription upgrade — это подблок, вкладываемый в Cart items. Он предлагает покупателям переключить подходящую разовую строку на подписку прямо из корзины, превращая разовую покупку в регулярную выручку в момент принятия решения, и позволяет уже подписанным покупателям изменить или отменить план на этой строке.

Поведение

  • Появляется только на подходящих строках. Блок читает selling plans товара и ничего не отображает на строке, у товара которой нет планов подписки.
  • Никогда не предлагается на подарках-наградах. Подписка на автоматически выданный бесплатный подарок лишила бы его статуса награды, поэтому предложение подавляется на таких строках.
  • На разовой строке он показывает призыв к переходу на подписку.
  • На уже подписанной строке он показывает селектор плана плюс опцию «понизить до разовой покупки».

Настройки

Размещение и ограничения

  • Родитель: вкладывается только в Cart items.
  • Максимум: 1 на корзину.
  • Не добавляется по умолчанию. Не заблокирован, поэтому вы можете удалить или скрыть его.
Поскольку это подблок, он отображается на каждой строке, располагаясь выше или ниже содержимого товара в зависимости от того, где вы его разместите относительно строки Product. См. как позиционируются подблоки.

Пользовательский шаблон

Поддерживает пользовательский шаблон на вкладке Code, который заменяет встроенную разметку этого блока вашим JSX. Вот props, которые он получает. Этот блок отображает одно из двух состояний, и view.state сообщает, какое именно. view никогда не бывает null внутри пользовательского шаблона: когда у строки нет планов, блок ничего не отображает, и ваш шаблон не вызывается. Каждый элемент в view.plans имеет вид { id: number, name: string, discountPercent: number }.
Используйте onChange для <select> и selectPlan для кнопок. onChange уже обрабатывает сентинел oneTimeValue; если вы подключаете собственный обработчик к <select>, вам придётся сравнивать со значением oneTimeValue и вызывать selectPlan(null) самостоятельно.

Дизайн

Стилизуйте этот блок в разделе Design его панели настроек. Это переопределения на уровне блока, которые накладываются поверх глобального дизайна и возвращаются к нему, когда не заполнены. Что такое настройки дизайна? Подробнее здесь: Настройки дизайна.