Comment supprimer les étapes de la vérification de Magento Onepage?

18

J'utilise CE 1.7 et j'essaie actuellement de supprimer l'expédition, la méthode d'expédition et les étapes de paiement de la commande Onepage. J'ai déjà supprimé les étapes de local\mage\checkout\block\onepage\abstract.php. Mon problème survient lorsque j'essaie de passer des informations de facturation à l'examen lorsque je clique sur Continuer, il charge l'image de l'étape suivante de chargement qui reste immobile. Toutes les idées seraient très appréciées.

Egregory
la source
Étant donné que je ne peux pas (encore) commenter, veuillez nous dire et répondre à votre question, ce que vous avez fait (dans OnepageController.php), pour ignorer le paiement dans CE 1.7. Merci.
heaven7
Salut @Egregory, plus d'informations sur la façon dont vous avez fait cela? J'essaye de faire pareil!
Edgar Quintero
@edgarQuintero le code que j'ai utilisé est une combinaison de la réponse approuvée et du code que j'ai soumis. Cela pourrait également être différent dans les versions plus récentes car je faisais cela dans CE 1.7
Egregory
@Egregory Oui, j'ai réécrit les fonctions ci-dessous publiées par Bijal Bhavsar et j'ai également ajouté vos modifications OnepageController.php, effacé le cache et la session juste pour être sûr, mais toujours pas de changement. Je suis également sur 1.7.
Edgar Quintero

Réponses:

13

Essayez de réécrire les fichiers de blocs ci-dessous avec les fonctions suivantes:

Réécrire la classe Mage_Checkout_Block_Onepage_Billing

    public function canShip()
    {
        return false;
    }

Réécrire la classe Mage_Checkout_Block_Onepage_Shipping_Method

    public function isShow()
    {
        return false;
    }

Réécrire la classe Mage_Checkout_Block_Onepage_Shipping

    public function isShow()
    {
          return false;
    }

J'espère que maintenant le problème lié au progrès ne se produira pas.

Bijal Bhavsar
la source
J'apprends toujours les capacités de réécriture de Magento. Dois-je créer cela dans un nouveau module ou dois-je simplement le créer dans la section app \ code \ local?
Egregory
Vous devez créer un nouveau module et réécrire les fichiers. Comment remplacer le fichier de blocage? Vous pouvez consulter inchoo.net/ecommerce/magento/…
Bijal Bhavsar
Merci d'avoir tout compris, onepagecontroller.php m'a raccroché une fois que j'ai fait les changements corrects et fait une réécriture pour que tout commence à fonctionner.
Egregory
@Egregory pourriez-vous s'il vous plaît partager le vôtre sur onepagecontroller.php - comment l'avez-vous changé pour commencer à travailler. Merci!
2015
C'est vieux, mais j'ai quand même essayé avec Magento 1.9.2 et ça ne marche pas
Altaf Hussain
4

Un peu vieux mais jetez un œil ici:

Supprimer la connexion http://excellencemagentoblog.com/magento-onestep-checkout-remove-login-step

Supprimer le paiement + expédition http://excellencemagentoblog.com/magento-onestep-checkout-remove-payment-and-shipping-method-step

supprimer le paiement http://excellencemagentoblog.com/magento-onestep-checkout-remove-payment-method-step

supprimer l'expédition http://excellencemagentoblog.com/magento-onestep-checkout-remove-shipping-method-step

Ajouter une étape http://excellencemagentoblog.com/magento-onestep-checkout-add-step

snh_nl
la source
2

@ heaven7 J'ai changé ces bits dans le OnepageController.php dans l'ensemble, j'ai fait plus que manipuler cela, mais je vais lister mon code afin que vous puissiez voir ce que j'ai changé exactement. N'oubliez pas de le faire uniquement dans une copie locale et non dans le dossier principal.

    `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));
        }
    }
Egregory
la source
1

veuillez suivre ce lien

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

ou

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

cela peut vous aider

Keyur Shah
la source
1
Les publications contenant uniquement des liens sont de mauvaise qualité pour le format de ce site. Veuillez développer votre réponse.
philwinkle
J'apprécie la réponse, mais ceux-ci se concentrent davantage sur ce 1.6 que sur 1.7.
Egregory