Кто-нибудь знает, можно ли перенести этап регистрации клиента на оформление заказа, как в исходной проверке Magento 1? Ищите расширение, которое будет делать это для меня, или совет о том, как я мог бы достичь этого.
magento2
checkout
customer-account
Джейсон
источник
источник
Ответы:
Я хотел бы создать шаг в кассе, чтобы определить погоду, в которую вы вошли, а затем соответственно отобразить форму.
Загрузите регистрационную форму в этот шаг через ajax и измените событие после регистрации, определяющее, была ли регистрация произведена извлечение, перенаправив обратно на извлечение, а не на панель мониторинга.
Я дошел до того, что добавил рабочий шаг, который показывает, когда не вошел в систему для регистрации, и перенаправил успешное завершение регистрации обратно, чтобы отключить предыдущий шаг для более удобного взаимодействия с пользователем.
Предоставление возможности входа в систему, если у пользователя есть учетная запись, но он еще не вошел в систему на этом этапе, улучшит ситуацию здесь.
Это полный код, если вы хотите проверить все, что было много, чтобы включить в ответ:
Создайте форму регистрации в контроллере:
Так как шаги извлечения должны
php
быть выполнены для получения URL-адреса формы, ключа и т. Д., Потребуется контроллер, чтобы мы могли загрузить эту форму регистра через ajax в шаг.Приведенный ниже рендеринг блоков регистрации в контроллере, поэтому мы можем вызвать через ajax в кассе.
Убедитесь, что в файле / etc / frontend модуля добавлен route.xml.
Создать шаг оформления заказа:
Поскольку это первый шаг, убедитесь, что добавили миксины так же, как я это сделал в модуле, так как в данном случае devdocs неверен, что приводит к каждому шагу, показывающему:
Это не удавалось, если блок не загружался до вызова ajax, но в итоге использовал что-то вроде этого, чтобы получить нашу регистрационную форму из контроллера и плюнуть на шаг:
Здесь намного больше шагов, просто следуйте инструкциям devdocs, следя за выполнением шага mixin, но используйте ниже для mixin, так как пример devdocs не работает:
Основными отличиями были этапы оплаты и доставки с использованием isVisible и Visible, а devdocs использует только видимый в примере, поэтому для исправления необходимо добавить isVisible. Также пришлось внести коррективы для того, если шаг был отключен.
Изменить регистрацию перенаправления:
Пример грубый, но также пришлось переопределить register.phtml, чтобы добавить переменную post checkout, чтобы определить разницу между двумя формами. Там, где много шагов, которые я не показал, но проверьте модуль, который я создал для полного примера.
источник