Magento Onepage kasasından adımlar nasıl kaldırılır?


18

CE 1.7 kullanıyorum ve şu anda Gönderim, gönderim yöntemi ve ödeme adımlarını Onepage kasasından kaldırmaya çalışıyorum. Adımları zaten kaldırdım local\mage\checkout\block\onepage\abstract.php. Sorunum devam etmek tıklandığında gözden geçirmek için fatura bilgileri ilerlemeye çalışırken geliyor oturur oturur daha sonraki yükleme görüntü yükler. Herhangi bir fikir çok takdir edilecektir.


(Henüz) yorum yapamadığım için, CE 1.7'de ödemeyi atlamak için lütfen bize söyleyebilir ve sorunuzu, ne yaptığınızı (OnepageController.php'de) cevaplayabilir misiniz? Teşekkürler.
heaven7

Merhaba @Egregory, bunu nasıl yaptığına dair daha fazla bilgi var mı? Ben de aynısını yapmaya çalışıyorum!
Edgar Quintero

@edgarQuintero Kullandığım kod, onaylanmış cevabın ve gönderdiğim kodun bir kombinasyonudur. CE 1.7'de yaptığım gibi yeni sürümlerde de farklı olabilir
Egregory

@Egregory Yea Bijal Bhavsar tarafından yayınlanan aşağıdaki işlevleri yeniden yazdım ve ayrıca OnepageController.php değişikliklerinizi, önbelleği ve oturumu temizledim, ancak emin olmak için ekledim, ancak yine de değişiklik yok. Ben de 1.7.
Edgar Quintero

Yanıtlar:


13

Aşağıdaki işlevlerle aşağıdaki blok dosyalarını yeniden yazmaya çalışın:

Sınıfı yeniden yaz Mage_Checkout_Block_Onepage_Billing

    public function canShip()
    {
        return false;
    }

Sınıfı yeniden yaz Mage_Checkout_Block_Onepage_Shipping_Method

    public function isShow()
    {
        return false;
    }

Sınıfı yeniden yaz Mage_Checkout_Block_Onepage_Shipping

    public function isShow()
    {
          return false;
    }

Umarım şimdi ilerleme ile ilgili bir sorun olmaz.


Hala Magento'nun yeniden yazma yeteneklerini öğreniyorum. Bunu yeni bir modülde mi oluşturacağım yoksa sadece app \ code \ local bölümünde mi oluşturacağım?
Egregory

Yeni modül oluşturmanız ve dosyaları yeniden yazmanız gerekir. Blok dosyası nasıl geçersiz kılınır? Sen inceleyebilir inchoo.net/ecommerce/magento/...
Bijal Bhavsar

Teşekkürler her şeyi anladım, doğru değişiklikleri yaptıktan ve her şeyin çalışmaya başladığı için bir yeniden yazma yaptıktan sonra onepagecontroller.php beni asıyordu.
Egregory

@Egregory, sizinkini onepagecontroller.php adresinden paylaşabilir misiniz - çalışmaya başlamak için nasıl değiştirdiniz? Teşekkürler!
srdan

Eski, ama yine de Magento 1.9.2 ile denedim ve çalışmıyor
Altaf Hussain

4

2

@ heaven7 OnepageController.php genel olarak bu bit değiştirdi genel olarak bu manipüle daha yaptım ama tam olarak ne değiştiğini görebilirsiniz böylece kodumu listeler. Bunu çekirdek klasörde değil, yalnızca yerel bir kopyada yapmayı unutmayın.

    `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

1
Yalnızca bağlantı yayınları bu sitenin biçimi için kalitesiz. Lütfen cevabınızı genişletin.
philwinkle

i cevap için teşekkür ederiz ama bu 1.7 daha fazla ce 1.6 odaklanmak şeyler 1,7 adım kodları gibi soyut farklılıklar soyut.php dosyasında bulunan bazı farklılıklar vardır.
Egregory
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.