Оптимизация процесса оформления заказа в Magento 2: перемещение приложения кода скидки перед размещением заказа

В 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. Используйте настраиваемый модуль.
Другой метод предполагает создание настраиваемого модуля для переопределения поведения оформления заказа по умолчанию. Вот пример того, как этого добиться:

  1. Создайте новый модуль, следуя рекомендациям по созданию модулей Magento.
  2. Создайте новый файл макета, например checkout_index_index.xml, в папке представления вашего модуля.
  3. Используйте следующий код, чтобы переместить блок кода скидки на более раннюю позицию:
<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 макета оформления заказа, создание специального модуля и использование расширения. Выберите метод, который соответствует вашим требованиям, и внедрите его в своем магазине, чтобы оптимизировать процесс оформления заказа.

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