Magento Onepage चेकआउट से कदम कैसे निकालें?


18

मैं सीई 1.7 का उपयोग कर रहा हूं और वर्तमान में मैं ऑनपेज चेकआउट से शिपिंग, शिपिंग विधि और भुगतान चरणों को हटाने की कोशिश कर रहा हूं। मैंने पहले ही चरण हटा दिए local\mage\checkout\block\onepage\abstract.php। मेरा मुद्दा तब आता है जब मैं क्लिक करने के लिए बिलिंग जानकारी से प्रगति की कोशिश कर रहा होता हूं जब यह जारी रहता है कि लोडिंग स्टेप इमेज की तुलना में अभी भी लोड होता है। कोई भी उपाय बहुत प्रशंसनीय होगा।


चूँकि मैं टिप्पणी नहीं कर सकता (अभी तक), कृपया आप हमें बता सकते हैं और अपने प्रश्न का उत्तर दे सकते हैं, जो आपने (OnepageController.php में) किया था, सीई 1.7 में भुगतान को छोड़ने के लिए। धन्यवाद।
स्वर्ग 7

हाय @ समूह, आपने यह कैसे किया, इस बारे में कोई और जानकारी? मैं वही करने की कोशिश कर रहा हूँ!
एडगर क्विंटो

@edgarQuintero मैंने जिस कोड का उपयोग किया है वह स्वीकृत उत्तर और मेरे द्वारा प्रस्तुत कोड का संयोजन है। यह नए संस्करणों में भी भिन्न हो सकता है जैसा कि मैं सीई 1.7 में कर रहा था
एग्रीगिरी

@ एग्रीगिरी वाईए मैंने बिजल भावसार द्वारा पोस्ट किए गए नीचे के कार्यों को फिर से लिखा और अपने ऑनपेजकंट्रोलर.फैप संशोधनों, क्लीयर कैश और सत्र को भी सुनिश्चित करने के लिए जोड़ा, लेकिन अभी भी कोई बदलाव नहीं हुआ है। मैं भी 1.7 पर हूं।
एडगर क्विंटो

जवाबों:


13

निम्नलिखित कार्यों के साथ ब्लॉक फाइलों के नीचे फिर से लिखने की कोशिश करें:

पुनर्वित्त वर्ग Mage_Checkout_Block_Onepage_Billing

    public function canShip()
    {
        return false;
    }

पुनर्वित्त वर्ग Mage_Checkout_Block_Onepage_Shipping_Method

    public function isShow()
    {
        return false;
    }

पुनर्वित्त वर्ग Mage_Checkout_Block_Onepage_Shipping

    public function isShow()
    {
          return false;
    }

मुझे उम्मीद है कि अब प्रगति से संबंधित मुद्दा नहीं होगा।


मैं अभी भी Magento के पुनर्लेखन क्षमताओं को सीख रहा हूं। क्या मैं इसे एक नए मॉड्यूल में बनाऊंगा या क्या मैं इसे केवल app \ code \ local अनुभाग में बनाऊंगा?
इगोरोरी

आपको नया मॉड्यूल बनाना होगा और फ़ाइलों को फिर से लिखना होगा। ब्लॉक फ़ाइल को ओवरराइड कैसे करें? आप inchoo.net/ecommerce/magento/… की
भावसार

धन्यवाद मुझे पता चला कि सब कुछ ठीक हो गया है, onepagecontroller.php ने मुझे लटका दिया था एक बार जब मैंने सही बदलाव किए और इसके लिए फिर से लिखना शुरू किया तो सब कुछ काम करने लगा।
एग्लोरी

@ समूह आप अपने onepagecontroller.php साझा कर सकते हैं - आप इसे कैसे शुरू किया काम करने के लिए बदल दिया। धन्यवाद!
सूरन

यह पुराना है, लेकिन फिर भी मैंने Magento 1.9.2 के साथ कोशिश की और यह काम नहीं कर रहा है
अल्ताफ हुसैन

4

थोड़ा पुराना लेकिन यहाँ एक नज़र है:

लॉगिन हटाएं http://excellencemagentoblog.com/magento-onestep-checkout-remove-login-step

भुगतान निकालें + शिपिंग http://excellencemagentoblog.com/magento-onestep-checkout-remove-payment-and-shipping-method-step

भुगतान निकालें http://excellencemagentoblog.com/magento-onestep-checkout-remove-payment-method-step

शिपिंग हटाएं http://excellencemagentoblog.com/magento-onestep-checkout-remove-shipping-method-step

चरण http://excellencemagentoblog.com/magento-onestep-checkout-add-step जोड़ें


2

@ स्वर्ग 7 मैंने OnepageController.php में इन बिट्स को बदल दिया। कुल मिलाकर मैंने इसे हेरफेर करने से ज्यादा किया लेकिन मैं अपने कोड को सूचीबद्ध करूंगा ताकि आप देख सकें कि मैंने वास्तव में क्या बदला है। बस इसे केवल एक स्थानीय प्रतिलिपि में करना याद रखें और कोर फ़ोल्डर में नहीं।

    `protected $_sectionUpdateFunctions = array(
           /* 'payment-method'  => '_getPaymentMethodsHtml',
            'shipping-method' => '_getShippingMethodsHtml',*/
            'review'          => '_getReviewHtml',
        );    public function saveBillingAction()
        {
           if ($this->_expireAjax()){
            return;
        }
            if ($this->getRequest()->isPost()) {
                $data = $this->getRequest()->getPost('billing', array());
                $customerAddressId =  $this->getRequest()->getPost('billing_address_id', false);
                $result = $this->getOnepage()->saveBilling($data, $customerAddressId);

    //            if (!isset($result['error'])) {
    //                if ($this->getOnepage()->getQuote()->isVirtual()) {
                        $this->loadLayout('checkout_onepage_review');
                        $result['goto_section'] = 'review';
                        $result['update_section'] = array(
                            'name' => 'review',
                            'html' => $this->_getReviewHtml()
                        );
                    }
                    /*elseif (isset($data['use_for_shipping']) && $data['use_for_shipping'] == 1) {
                        $this->saveShippingMethodAction();
                        $this->loadLayout('checkout_onepage_review');
                        $result['goto_section'] = 'review';
                        $result['update_section'] = array(
                            'name' => 'review',
                            'html' => $this->_getReviewHtml()
                        );

                        $result['allow_sections'] = array('shipping','review');
                        $result['duplicateBillingInfo'] = 'true';
                    }*/
                   /* else {
                        //$result['goto_section'] = 'shipping';
                        //TODO There is an error with loading the layout of the Review tab.
                        $result['goto_section'] = 'review';
                    }*/
               // }

                $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));

            }     
     public function saveShippingAction()
    {

       if($this->_expireAjax()){
           return;
       }
        if ($this->getRequest()->isPost()) {
            $data = $this->getRequest()->getPost('shipping', array());
            $customerAddressId = $this->getRequest()->getPost('shipping_address_id', false);
            $result = $this->getOnepage()->saveShipping($data, $customerAddressId);

            if (!isset($result['error'])) {
                $this->saveShippingMethodAction();
                $this->loadLayout('checkout_onepage_review');
                $result['goto_section'] = 'review';
                $result['update_section'] = array(
                    'name' => 'review',
                    'html' => $this->_getReviewHtml()
                );
            }
            $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
        }
    }

public function saveShippingMethodAction()
    {
        if ($this->_expireAjax()) {
            return;
        }
        if ($this->getRequest()->isPost()) {
            $data = $this->getRequest()->getPost('shipping_method', '');
            $result = $this->getOnepage()->saveShippingMethod($data);
            /*
            $result will have erro data if shipping method is empty
            */
            if(!$result) {
                Mage::dispatchEvent('checkout_controller_onepage_save_shipping_method',
                        array('request'=>$this->getRequest(),
                            'quote'=>$this->getOnepage()->getQuote()));
                $this->getOnepage()->getQuote()->collectTotals();
                $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));

                $result['goto_section'] = 'review';
                $result['update_section'] = array(
                    'name' => 'review',
                    'html' => $this->_getReviewHtml()
                );
            }
            $this->getOnepage()->getQuote()->collectTotals()->save();
            $this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
        }
    }

1

कृपया इस लिंक का अनुसरण करें

http://sapnandu-magento.blogspot.in/2012/04/magento-onestep-checkout-remove.html

या

http://knowledgevalley.blogspot.in/2012/01/magento-skip-shipping-method-from.html

यह आपकी मदद कर सकता है


1
इस साइट के प्रारूप के लिए लिंक केवल पोस्ट खराब गुणवत्ता के हैं। कृपया अपने उत्तर का विस्तार करें।
4

मैं प्रतिक्रिया की सराहना करता हूं, लेकिन ये 1.7 से अधिक 1.7 पर ध्यान केंद्रित करते हैं। कुछ अंतर हैं जहां चीजें 1.7 में कदम कोड की तरह स्थित हैं। Abstract.php फ़ाइल में स्थित हैं।
इगोरोरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.