Magento 2 оформить заказ пользовательский компонент шаг 2 - PullRequest
0 голосов
/ 18 июня 2019

Я добавил пользовательский компонент на шаге 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,
    });
});
...