Magento 2 - प्लेस ऑर्डर बटन के साथ समीक्षा और भुगतान अनुभाग के बाद अतिरिक्त चेकआउट चरण कैसे जोड़ें


12

मैं "समीक्षा और भुगतान" अनुभाग के बाद एक अतिरिक्त चेकआउट चरण जोड़ने की कोशिश कर रहा हूं। आवश्यकता अलग-अलग चरणों के रूप में भुगतान को विभाजित करने और समीक्षा करने की है। एक बार भुगतान विधि के चयन के बाद, इसे अंतिम चरण "समीक्षा" पर नेविगेट करना चाहिए, जहां सभी आदेश जानकारी को "स्थान क्रम" बटन के साथ दिखाया जाना है।

अब तक मैंने नीचे दिए गए लिंक का पालन करके, भुगतान चरण के बाद कस्टम चरण जोड़ा है। http://devdocs.magento.com/guides/v2.0/howdoi/checkout/checkout_new_step.html

लेकिन समस्या यह है कि "प्लेस ऑर्डर" बटन पेमेंट स्टेप से जुड़ा हुआ है, मुझे प्लेस ऑर्डर बटन को लास्ट स्टेप पर ले जाना होगा।

कोई मदद सबसे सराहना की !!


क्या आप भुगतान के बाद पिछले में एक कदम जोड़ने में कामयाब रहे हैं?
रवि भालोदिया

@rameshpushparaj क्या आपने ऐसा किया है?
अरशद हुसैन

एक ही समस्या यहाँ, कुछ समाधान?
डिएगो क्विरोज़

इसका एक विकल्प सफलता कदम के लिए एक आदेश सारांश है। स्थान आदेश बटन भुगतान चरण से जुड़ा हुआ है क्योंकि यह एक समस्या होगी यदि कोई ग्राहक भुगतान करता है और फिर आदेश को पूरा नहीं करता है, तो भुगतान किसी भी आदेश से संबंधित नहीं होगा।
Sanne

जवाबों:


0

नीचे मैंने कुछ कदम जोड़े हैं। कृपया कदम का पालन करें

1. लेआउट फ़ोल्डर में अपनी checkout_index_index.xml फ़ाइल बनाएँ

एप्लिकेशन / कोड / VendorName / PlaceOrder / देखें / दृश्यपटल / लेआउट

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="checkout" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <css src="VendorName_PlaceOrder::css/place_order_button.css"/>
    </head>
    <body>
        <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="children" xsi:type="array">
                                        <item name="newstep" xsi:type="array">
                                            <item name="component" xsi:type="string">VendorName_PlaceOrder/js/view/newstep</item>
                                            <item name="config" xsi:type="array">
                                                <item name="template" xsi:type="string">VendorName_PlaceOrder/newstep</item>
                                            </item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </argument>
            </arguments>
        </referenceBlock>
    </body>
</page>

2. टेम्पलेट में एक फ़ाइल newstep.html बनाएँ

एप्लिकेशन / कोड / VendorName / PlaceOrder / देखें / दृश्यपटल / वेब / टेम्पलेट

<div class="opc-block-newstep" data-bind="blockLoader: isLoading">
    <span data-bind="i18n: 'Order newstep'" class="title"></span>
    <!-- ko foreach: elems() -->
        <!-- ko template: getTemplate() --><!-- /ko -->
    <!-- /ko -->
</div>
<!-- ko if: (isVisible()) -->
<div class="actions-toolbar-trigger" id="place-order-trigger-wrapper">
    <button type="button" class="button action primary" id="place-order-trigger" value="Place Order" >
        <span>Place Order</span>
    </button>
</div>
<!-- /ko -->
  1. पथ में एक फ़ाइल newstep.js बनाएँ

एप्लिकेशन / कोड / VendorName / PlaceOrder / देखें / दृश्यपटल / वेब / js / दृश्य

define(
    [
        'jquery',
        'ko',
        'Magento_Checkout/js/view/newstep',
        'Magento_Checkout/js/model/step-navigator',
    ],
    function(
        $,
        ko,
        Component,
        stepNavigator
    ) {
        'use strict';

        return Component.extend({

            isVisible: function () {
                return stepNavigator.isProcessed('shipping');
            },
            initialize: function () {
                $(function() {
                    $('body').on("click", '#place-order-trigger', function () {
                        $(".payment-method._active").find('.action.primary.checkout').trigger( 'click' );
                    });
                });
                var self = this;
                this._super();
            }

        });
    }
);

4. 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="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="children" xsi:type="array">

                                            <item name="newstep" xsi:type="array">
                                                <item name="children" xsi:type="array">

                                                    <item name="agreements" xsi:type="array">
                                                        <item name="component" xsi:type="string">Magento_CheckoutAgreements/js/view/checkout-agreements</item>
                                                        <item name="sortOrder" xsi:type="string">100</item>
                                                        <item name="displayArea" xsi:type="string">before-place-order</item>
                                                        <item name="dataScope" xsi:type="string">checkoutAgreements</item>
                                                        <item name="provider" xsi:type="string">checkoutProvider</item>
                                                    </item>

                                                    <item name="agreements-validator" xsi:type="array">
                                                        <item name="component" xsi:type="string">Magento_CheckoutAgreements/js/view/agreement-validation</item>
                                                    </item>

                                                </item>
                                            </item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </argument>
                </arguments>
            </referenceBlock>
        </body>
    </page>

इस जवाब में place_order_button.css फ़ाइल गायब है
विग्नेश बाला

क्या यह समाधान आपकी समस्या का समाधान है? वास्तव में, मुझे ठीक वही काम करना है
आकाश अग्रवाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.