Я добавил пользовательский компонент на шаге 2 проверки после способа оплаты, этот компонент является сводкой, которая зависит от выбора, сделанного на первом шаге.Проблема в том, что html этого компонента загружается через XHR только при первом доступе к странице оформления заказа и не перезагружается после нажатия на «следующий шаг».Как я могу сделать так, чтобы мой компонент загружался только на шаге 2?
, вот пользовательский макет checkout_index_index.xml:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="navigation.sections" remove="true" />
<referenceBlock name="topsearch" remove="true" />
<referenceBlock name="minicart" remove="true" />
<referenceBlock name="checkout.root">
<arguments>
<argument name="jsLayout" xsi:type="array">
<item name="components" xsi:type="array">
<item name="checkout" xsi:type="array">
<item name="children" xsi:type="array">
<item name="sidebar" xsi:type="array">
<item name="config" xsi:type="array">
<item name="componentDisabled" xsi:type="boolean">true</item>
</item>
</item>
<item name="steps" xsi:type="array">
<item name="children" xsi:type="array">
<item name="billing-step" xsi:type="array">
<item name="children" xsi:type="array">
<item name="payment" xsi:type="array">
<item name="children" xsi:type="array">
<item name="afterMethods" xsi:type="array">
<item name="children" xsi:type="array">
<item name="giftCardAccount" xsi:type="array">
<item name="config" xsi:type="array">
<item name="componentDisabled" xsi:type="boolean">true</item>
</item>
</item>
<item name="discount" xsi:type="array">
<item name="config" xsi:type="array">
<item name="componentDisabled" xsi:type="boolean">true</item>
</item>
</item>
<item name="offerSummary" xsi:type="array">
<item name="component" xsi:type="string">Custom_Order/js/view/payment/offersummary</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</item>
</argument>
</arguments>
</referenceBlock>
</body>
</page>
, и мой компонент js:
define([
'jquery',
'ko',
'uiComponent',
'Magento_Checkout/js/model/quote'
], function ($, ko, Component, quote) {
'use strict';
var quoteItemData = window.checkoutConfig.checkoutSummary,
totals = window.checkoutConfig.checkoutTotals,
grandTotal = window.checkoutConfig.OrderGrandTotal,
isApplied;
isApplied = true;
return Component.extend({
defaults: {
template: 'Custom_Order/payment/offersummary'
},
getItems: function () {
return quoteItemData;
},
slideTable: function (item) {
jQuery('.shop-item-'+item.shop_id).slideToggle(400);
jQuery('.shop-head-'+item.shop_id).toggleClass('open');
},
getTotals: function() {
return totals;
},
getGrandTotal: function() {
return grandTotal;
},
/**
* Applied flag
*/
isApplied: isApplied,
});
});