Как я могу получить каналы в мой ShippingMethod-Step

У меня есть несколько каналов в моем магазине. Все каналы имеют одинаковый продукт. Теперь я хочу позволить пользователю выбирать между различными каналами в процессе оформления заказа.

Оптимально способы доставки группируются по каналам. например

===========================
| Channel 1
===========================
| ( ) Pickup
| (x) Shipping
|                => Move on

===========================
| Channel 2
===========================
| ( ) Pickup
| (x) Shipping
|                => Move on

Теперь я выбираю один из вариантов:

  1. Канал переключен
  2. Метод доставки выбран
  3. Корзина переведена на другой канал

Все это должно быть возможно с 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: []

Возможно использование одного ключа "хранилища". Нужно ли мне создавать свой собственный контроллер и использовать репозитории прямо из сервис-контейнера?

0 ответов

Другие вопросы по тегам