Как вы сказали в комментарии, вы не хотите использовать продвижение здесь.Поэтому я надеюсь, что вы уже выполнили какое-то моделирование для поддержки продуктов «родитель-потомок» (скажем, пакетная сделка).
Теперь, добавляя / удаляя в / из корзины, определите продукт пакетной сделки (X-1) ис помощью хуков addTocart и updateCart вы можете добавить или удалить его дочерний продукт (X-2) в корзину.Добавьте дочерний продукт в качестве бесплатного подарка (giveAway), чтобы вам не пришлось беспокоиться о сервисе вычислений.
Чтобы добавить и удалить дочерний продукт, вы можете соответственно реализовать нижеследующие интерфейсы и добавить свои бобы в список хуков.
CommerceAddToCartMethodHook > afterAddToCart
CommerceUpdateCartEntryHook > afterUpdateCartEntry
Добавьте ваш бин к существующим хукам (commerceAddToCartMethodHooks, commerceUpdateCartEntryHooks), как
<bean id="myCommerceAddToCartMethodHooksList" depends-on="commerceAddToCartMethodHooks" parent="listMergeDirective" >
<property name="add" ref="myBeanForAddtoCartHook" />
</bean>
У меня было околоаналогичное требование (пакетная сделка).Где мы поддерживаем пакетные сделки в ERP и распространяем то же самое на Hybris.Мы показываем только всю информацию о дочерних продуктах (X-2) на PDP родительского продукта (X-1).При добавлении корзины мы добавляем только родительский продукт и отправляем заказ в ERP, остальная часть отправляется в ERP.