Как я могу получить каналы в мой ShippingMethod-Step
У меня есть несколько каналов в моем магазине. Все каналы имеют одинаковый продукт. Теперь я хочу позволить пользователю выбирать между различными каналами в процессе оформления заказа.
Оптимально способы доставки группируются по каналам. например
===========================
| Channel 1
===========================
| ( ) Pickup
| (x) Shipping
| => Move on
===========================
| Channel 2
===========================
| ( ) Pickup
| (x) Shipping
| => Move on
Теперь я выбираю один из вариантов:
- Канал переключен
- Метод доставки выбран
- Корзина переведена на другой канал
Все это должно быть возможно с sylius. Моя самая большая проблема является своего рода основной.
Sylius использует ResourceBundle для загрузки сущностей из репозиториев. У меня есть маршрут, настроенный так:
sylius_shop_checkout_select_shipping:
path: /select-shipping
methods: [GET, PUT]
defaults:
_controller: sylius.controller.order:updateAction
_sylius:
event: select_shipping
flash: false
template: SyliusShopBundle:Checkout:selectShipping.html.twig
form: Sylius\Bundle\CoreBundle\Form\Type\Checkout\SelectShippingType
repository:
method: find
arguments:
- "expr:service('sylius.context.cart').getCart()"
state_machine:
graph: sylius_order_checkout
transition: select_shipping
redirect:
route: sylius_shop_checkout_select_payment
parameters: []
Возможно использование одного ключа "хранилища". Нужно ли мне создавать свой собственный контроллер и использовать репозитории прямо из сервис-контейнера?