В Magento 2 по умолчанию коды скидок применяются во время оформления заказа, непосредственно перед его размещением. Однако некоторые продавцы могут предпочесть перенести этап применения кода скидки на более ранний этап процесса, чтобы улучшить взаимодействие с пользователем и стимулировать больше конверсий. В этой статье мы рассмотрим несколько способов достижения этой цели, гарантируя, что код скидки будет применен до того, как клиент приступит к размещению заказа.
Метод 1. Измените XML-код макета оформления заказа.
Один из подходов заключается в изменении XML-файла макета оформления заказа, чтобы изменить порядок шагов и переместить блок применения кода скидки на более раннюю позицию. Найдите файл checkout_index_index.xmlв своей пользовательской теме или модуле и добавьте следующий фрагмент кода:
<item name="discount" xsi:type="array">
<item name="component" xsi:type="string">Magento_SalesRule/js/view/payment/discount</item>
<item name="sortOrder" xsi:type="string">0</item>
<item name="children" xsi:type="array">
<item name="errors" xsi:type="array">
<item name="sortOrder" xsi:type="string">0</item>
<item name="component" xsi:type="string">Magento_SalesRule/js/view/payment/discount-messages</item>
<item name="displayArea" xsi:type="string">messages</item>
</item>
</item>
</item>
Блок кода скидки переместится в начало процесса оформления заказа.
Метод 2. Используйте настраиваемый модуль.
Другой метод предполагает создание настраиваемого модуля для переопределения поведения оформления заказа по умолчанию. Вот пример того, как этого добиться:
- Создайте новый модуль, следуя рекомендациям по созданию модулей Magento.
- Создайте новый файл макета, например
checkout_index_index.xml, в папке представления вашего модуля. - Используйте следующий код, чтобы переместить блок кода скидки на более раннюю позицию:
<item name="discount" xsi:type="array">
<item name="component" xsi:type="string">Magento_SalesRule/js/view/payment/discount</item>
<item name="sortOrder" xsi:type="string">0</item>
<item name="children" xsi:type="array">
<item name="errors" xsi:type="array">
<item name="sortOrder" xsi:type="string">0</item>
<item name="component" xsi:type="string">Magento_SalesRule/js/view/payment/discount-messages</item>
<item name="displayArea" xsi:type="string">messages</item>
</item>
</item>
</item>
Метод 3: используйте расширение.
Если вы предпочитаете непрограммируемый подход, вы можете использовать расширения, доступные на Magento Marketplace, которые предлагают функциональность для перемещения этапа применения кода скидки. Просмотрите торговую площадку и найдите расширения, в которых конкретно упоминается эта функция. Установите и настройте расширение согласно предоставленной инструкции.
Переместив шаг подачи заявки на код скидки на более ранний этап процесса оформления заказа, вы можете улучшить взаимодействие с пользователем и потенциально увеличить конверсию в своем магазине Magento 2. В этой статье мы рассмотрели три метода: изменение XML макета оформления заказа, создание специального модуля и использование расширения. Выберите метод, который соответствует вашим требованиям, и внедрите его в своем магазине, чтобы оптимизировать процесс оформления заказа.
Не забудьте тщательно протестировать любые изменения и расширения в среде разработки, прежде чем развертывать их на рабочем сайте.