Mageto 1.9 - Category of Products with Observer condition Error?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • aveeva
    New Member
    • Apr 2019
    • 33

    Mageto 1.9 - Category of Products with Observer condition Error?

    Condition: I have restricted category of products [category id = 680, 894, 895], this category of products should be purchase alone, not mixed with other products.



    Workout: Case 1: If cart had other products, if the customer tries to add restricted category products trigger observer like not eligible to add to cart and display a message like If you want this product, Purchase alone not mixed with other Products



    case 2: If cart had a restricted category of products if customer try to add non-restricted products trigger observer like not eligible to add to cart and display a message like Cart has Special Product you can not add another

    code :


    app/etc/modules/Gta_KolupadiRes trict.xml

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <config>
        <modules>
            <Gta_KolupadiRestrict>
                <active>true</active>
                <codepool>local</codepool>
            </Gta_KolupadiRestrict>
        </modules>
    </config>
    app/code/local/Gta/KolupadiRestric t/etc/config.xml

    Code:
    <?xml version="1.0"?>
    <config>
        <modules>
            <Gta_KolupadiRestrict>
                <version>1.0.0</version>
            </Gta_KolupadiRestrict>
        </modules>
        <global> 
            <models>
                <gta_kolupadirestrict>
                    <class>Gta_KolupadiRestrict_Model</class>
                </gta_kolupadirestrict>
            </models>
            <events>
                <checkout_cart_product_add_after>
                    <observers>
                        <Gta_KolupadiRestrict_Model_Observer>   
                            <type>singleton</type>
                            <class>Kolupadi_Restrict_Model_Observer</class>
                            <method>cartevent</method>
                        </Gta_KolupadiRestrict_Model_Observer>
                    </observers>
                </checkout_cart_product_add_after>      
            </events>
        </global>   
    </config>
    app/code/local/Gta/KolupadiRestric t/Model/Observer.php

    Code:
    <?php 
        Mage::log('fine dude', null, 'logfile.log');
        //create class
        class Gta_KolupadiRestrict_Model_Observer
        {
    
            //create function
            public function cartevent(Varien_Event_Observer $observer)
            {
                $category_id = array(680, 894, 895) ; //category ids
    
                $category_products  = Mage::getModel('catalog/category')
                                            ->setWebsiteId(2);           // load website id
                                            ->load($category_id);        // load category 
    
                // check cart qty status                            
                $cart_qty = (int) Mage::getModel('checkout/cart')->getQuote()->getItemQty();  
    
                //logic
                if($category_products && $cart_qty > 0  )
                {
                    Mage::throwException("If you want Kolu Padi, Purchase alone not mixed with other Products");    
                }
    
                 //check if cart have products 
                 $quote = Mage::getModel('checkout/cart')->getQuote();
                 foreach($quote->getAllItems() as $item)
                 {
                    $productId  = $item->getCategoryId();
    
                    if($productId == $category_id)
                    {
                        Mage::throwException("Cart has Special Product you can not add another");
                    }
                 }      
            }       
        }
    ?>
    Observer not trigger. Does anyone help me?


    I am not asking code help, i just want to know if my observer calling correct?
Working...