নির্দিষ্ট পণ্যের ধরণে নগদ অন বিতরণ কীভাবে অক্ষম করবেন to


9

মূলত আমাকে নির্দিষ্ট পণ্যের ধরণে নগদ অন ডেলিভারি অক্ষম করতে হবে। মূলত আমি ম্যাজ স্টোরের স্টোর ক্রেডিট ব্যবহার করছি। এটি ম্যাজেন্টোতে মানিব্যাগের জন্য। পেমেন্ট বিকল্পে এটি ডেলিভারি নগদ দেখায়। এটি কোনও দৈহিক বা ভার্চুয়াল পণ্য নয়। সুতরাং এই পণ্যটির প্রকারে আমাকে নগদ অন ডেলিভারি অক্ষম করতে হবে।

উত্তর:


11

আপনি এই দ্বারা এটি করতে পারেন Magento Event/Observer

প্রথমত, payment_method_is_activeনির্ভর করে বর্তমান কোট পণ্য ধরণের উপর নির্ভর করে using

এর জন্য কোড:

মডিউল কনফিগার। XML কোড:

<global>
    <events>
    <payment_method_is_active>
        <observers>
            <paymentfilter_payment_method_is_active>
            <type>singleton</type>
            <class>yourmodel/observer</class>
            <method>filterpaymentmethod</method>
            </paymentfilter_payment_method_is_active>
        </observers>
    </payment_method_is_active>
    </events>
</global>

পর্যবেক্ষক কোডটি হ'ল:

<?php

class YOURNANESPACE_YOURMODULE_Model_Observer {

    public function filterpaymentmethod(Varien_Event_Observer $observer) {
        /* call get payment method */
        $method = $observer->getEvent()->getMethodInstance();

        /*   get  Quote  */
        $quote = $observer->getEvent()->getQuote();

        $result = $observer->getEvent()->getResult();
        if (empty($quote) || (null === $quote)) {
            return $this;
        }

        /* Disable Your payment method for   adminStore */
        if ($method->getCode() == 'YOUR_PAYMENT_METHOD_CODE') {
            foreach ($quote->getAllItems() as $item) {
                // get Cart item product Type //
                if ($item->getProductType() == 'YourProductType'):
                    $result->isAvailable = false;
                endif;
            }
        }
    }

}

মাত্র 2 মিনিট এগ্রেড গ্র 8 কাজ ডিউড
@

@ আমিত বেরা কীভাবে এখানে পণ্যের ধরণ পাবেন
দীপক রায়

@ দীপকরাই, ইতিমধ্যে কোড দেওয়া হয়েছে product আইটেম-> getProductType () আইটেম পণ্য प्रकार পেতে
অমিত বেরা

4

তার জন্য আপনাকে ম্যাজেন্টো payment_method_is_activeইভেন্টটি ব্যবহার করতে হবে

আমি ধরে নিচ্ছি আপনি কীভাবে ম্যাজেন্টো এক্সটেনশানটি বিকাশ করতে জানেন তা [যদি না হয় তবে দয়া করে এই উত্তরটি পরীক্ষা করে নিন আপনি পুরো মডিউলটি পেয়ে যান আপনার config.xmlথেকে এই কোডটি লিখুনapp>code>codepool>namespace>package>etc

<global>
    ...
    <events>
        <payment_method_is_active>
            <observers>
                <paymentfilter_payment_method_is_active>
                    <type>singleton</type>
                    <class>PaymentFilter_Model_Observer</class>
                    <method>paymentMethodIsActive</method>
                </paymentfilter_payment_method_is_active>
            </observers>
        </payment_method_is_active>
    </events>
    ...
</global>

পর্যবেক্ষক ফাইল তৈরি করুন app/code/codepool>namespace>package/Model/Observer.php

class namespace_package_Model_Observer {

        public function paymentMethodIsActive(Varien_Event_Observer $observer) {
            $event           = $observer->getEvent();
            $method          = $event->getMethodInstance();
            $result          = $event->getResult();
            $currencyCode    = Mage::app()->getStore()->getCurrentCurrencyCode();


                if($someTrueConditionGoesHere){
                    $result->isAvailable = true;
                }else{
                    $result->isAvailable = false;
                }

        }

    }

আমি কি এখানে সহায়তা পেতে পারি magento.stackexchange.com/q/301777/57334 @ কেয়ার শাহ
২us

1

আপনি কি এটি দেখতে পেয়েছেন বলে মনে করেন এটি মৌমাছি আপনার সমস্যার সমাধান করবে আপনার কেবলমাত্র পদ্ধতিগুলি.এফটিএমটিএল ফাইলটি পরিবর্তন করতে হবে এবং যেখান থেকে আপনি কোনও উদ্ধৃতি তথ্য পেতে পারেন এবং ইভেন্ট অনুসারে মডিউল থেকে বৈধতা বা শর্তগুলিও করতে পারেন - পর্যবেক্ষক বা সংশোধন করে পিএইচটিএমএল ফাইল?

/programming/29819037/disable-cash-on-delivery-for-specific-products

এবং

/programming/14011348/disable-payment-options-only-cash-on-delivery-for-particular-product-magento

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.