विशिष्ट उत्पाद प्रकार पर कैश ऑन डिलीवरी को अक्षम कैसे करें


9

मूल रूप से मुझे विशिष्ट उत्पाद प्रकार पर कैश ऑन डिलीवरी को अक्षम करना होगा। मूल रूप से एमेज स्टोर के स्टोर क्रेडिट का उपयोग करके। यह मैगनेटो में वॉलेट के लिए है। भुगतान विकल्प पर डिलीवरी पर नकद दिखाना। यह एक भौतिक या आभासी उत्पाद नहीं है। इसलिए मुझे इस उत्पाद प्रकार पर कैश ऑन डिलीवरी को अक्षम करना होगा।

जवाबों:


11

आप इससे कर सकते हैं Magento Event/Observer

सबसे पहले, payment_method_is_activeअक्षम का उपयोग करके वर्तमान बोली उत्पाद प्रकार निर्भर करता है।

इसके लिए कोड:

मॉड्यूल config.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 मिनट ahed gr8 work dude @amit
शाह

@ अमित बेरा यहां उत्पाद प्रकार कैसे प्राप्त करें
दीपक राय

@ DeepakRai, पहले से ही कोड put.use $ आइटम,> getProductType () प्राप्त आइटम उत्पाद प्रकार के लिए किया गया है
अमित बेरा

4

इसके लिए आपको magento payment_method_is_activeइवेंट का उपयोग करने की आवश्यकता है

मैं यह सोचते हैं रहा हूँ क्या आप जानते हैं कैसे Magento विस्तार विकसित करने के लिए [यदि नहीं तो जाँच कृपया इस जवाब आप पूरे मॉड्यूल प्राप्त अपने में लिखें इस कोड 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 @Keyur Shah
zus

1

क्या आप इसे देख रहे हैं, मुझे लगता है कि यह आपके मुद्दे को हल करेगा, आपको केवल तरीकों को संशोधित करने की आवश्यकता है। एफटीएमएल फ़ाइल और फ़ार्म से, जहां आप किसी भी उद्धरण की जानकारी प्राप्त कर सकते हैं और घटना या पर्यवेक्षक द्वारा संशोधन या मान्यताओं या शर्तों के साथ-साथ संशोधन भी कर सकते हैं। phtml फ़ाइल?

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

तथा

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.