ম্যাজেন্টো অনেপেজ চেকআউট থেকে পদক্ষেপগুলি কীভাবে সরাবেন?


18

আমি সিই 1.7 ব্যবহার করছি এবং আমি বর্তমানে চালিতকরণ, শিপিং পদ্ধতি এবং অনপেজ চেকআউট থেকে অর্থ প্রদানের পদক্ষেপগুলি সরিয়ে দেওয়ার চেষ্টা করছি। আমি ইতিমধ্যে থেকে পদক্ষেপগুলি সরিয়েছি local\mage\checkout\block\onepage\abstract.php। আমার সমস্যাটি আসে যখন আমি বিলিংয়ের তথ্য থেকে পর্যালোচনা করতে অগ্রসর হওয়ার চেষ্টা করি যখন আমি চালিয়ে যান ক্লিক করি তখন এটি পরবর্তী ধাপের চিত্রটি স্থির করে বসে থাকার চেয়ে লোড করে। কোন ধারণা অনেক প্রশংসা করা হবে।


যেহেতু আমি মন্তব্য করতে পারি না (এখনও), আপনি দয়া করে আমাদের জানান এবং আপনার প্রশ্নের উত্তর দিতে পারেন, আপনি কী করেছিলেন (অনিপেজকন্ট্রোলআরএফপি), সিই 1.7 এ অর্থ প্রদান এড়ানোর জন্য। ধন্যবাদ।
স্বর্গ 7

হাই @ এগ্রিগরি, আপনি এটি কীভাবে করেছিলেন সে সম্পর্কে আরও কোনও তথ্য? আমিও তাই করার চেষ্টা করছি!
এডগার কুইন্টেরো

@edgarQuintero আমি ব্যবহৃত কোডটি অনুমোদিত উত্তর এবং আমার জমা দেওয়া কোডের সংমিশ্রণ। এটি সিই ১.
in-এ করাতে

@ এগ্রিগরি হ্যাঁ আমি বিজল ভাবসার দ্বারা পোস্ট করা নীচের ফাংশনগুলি আবার লিখেছিলাম এবং আপনার অনেপেজকন্ট্রোলআরএফপি পরিবর্তনগুলি, ক্লিয়ার ক্যাশে এবং সেশনটি কেবল নিশ্চিত করার জন্য যোগ করেছি, তবে এখনও কোনও পরিবর্তন হয়নি। আমি 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;
    }

আমি আশা করি এখন অগ্রগতির সাথে সম্পর্কিত সমস্যাটি ঘটবে না।


আমি এখনও ম্যাজেন্টোর পুনর্লিখনের ক্ষমতা শিখছি। আমি কি এটি একটি নতুন মডিউলে তৈরি করব বা আমি কেবল অ্যাপ-কোড \ স্থানীয় বিভাগে এটি তৈরি করব?
Egregory

আপনাকে নতুন মডিউল তৈরি করতে হবে এবং ফাইলগুলি পুনরায় লিখতে হবে। কিভাবে ব্লক ফাইল ওভাররাইড করবেন? আপনি ইঞ্চি.ও.না.
বিজল ভাবসার

ধন্যবাদ আমি সবকিছু আবিষ্কার করেছি, onepagecontroller.php আমাকে একবার ঝুলিয়ে দিচ্ছিল যখন আমি সঠিক পরিবর্তনগুলি করেছি এবং এর জন্য পুনরায় লেখার কাজটি শুরু করে যা কাজ শুরু করে।
Egregory

@ এগ্রিগরি আপনি দয়া করে আপনার onage_controller.php ভাগ করে নিতে পারেন - আপনি কীভাবে এটিকে কাজ শুরু করতে পরিবর্তন করেছিলেন। ধন্যবাদ!
srdan

এটি পুরানো, তবে তবুও আমি ম্যাজেন্টো ১.৯.২ দিয়ে চেষ্টা করেছি এবং এটি কাজ করছে না
আলতাফ হুসেন

4

2

@ স্বর্গ 7 আমি এই বিটগুলি অনেপেজকন্ট্রোলআরপিএপগুলিতে পরিবর্তন করেছি সামগ্রিকভাবে আমি এটির কারচুপি করার চেয়ে বেশি করেছি তবে আমি আমার কোডটি তালিকাভুক্ত করব যাতে আপনি দেখতে পাবেন যে আমি ঠিক কী পরিবর্তন করেছি। মূল ফোল্ডারে নয়, কেবল একটি স্থানীয় কপিতে এটি করতে মনে রাখবেন।

    `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
এই সাইটের ফর্ম্যাটের জন্য কেবল লিঙ্ক পোস্টগুলিই নিম্নমানের। আপনার উত্তর প্রসারিত করুন।
ফিলিঙ্কল

আমি প্রতিক্রিয়াটির প্রশংসা করি তবে এই ফোকাসটি সিআর 1.6 এর চেয়ে বেশি হয় 1.7 এর তুলনায় কিছু পার্থক্য রয়েছে যেখানে জিনিসগুলি 1.7 তে স্টেপ কোডগুলির মতো অবস্থিত রয়েছে অ্যাবস্ট্রাক্ট.এফপি ফাইলে অবস্থিত।
Egregory
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.