Magento 2 - Способы оплаты при оформлении заказа не отображаются
У меня есть сайт magento 2 с 2 разными магазинами, использующими разные темы
1- Theme A
2- Theme B
Тема B является дочерним элементом темы A
На странице оформления заказа в теме я смог отобразить способы оплаты, используя базовое переопределение checkout_index_index.xml
файл. До этого способы оплаты не отображались
Создал файл
app\design\frontend\Magento\ThemeA\Magento_Checkout\layout\override\base\checkout_index_index.xml
Со следующим кодом
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="minicart" />
<referenceContainer name="header.panel" />
<referenceBlock name="top.search"/>
<referenceBlock name="catalog.compare.link" />
<referenceBlock name="catalog.topnav"/>
<referenceContainer name="footer-container" />
</body>
Это работает нормально и отображает платеж методы правильно
Для темы B я попробовал тот же подход, но он не работает.
Я проверил JS
, и он возвращает мне соответствующий объект для способов оплаты, но они нигде не отображаются, просто отображается следующее сообщение
No payment method
1 answers
Так что я смог отобразить его
В дочерней теме мы должны переопределить файлы родительской темы
Итак, в теме B вместо
app\design\frontend\Magento\ThemeB\Magento_Checkout\layout\override\base\checkout_index_index.xml
Это должно быть
app\design\frontend\Magento\ThemeB\Magento_Checkout\layout\override\theme\Magento\ThemeA\checkout_index_index.xml
Вы можете найти полный ответ здесь