cancel
Showing results for 
Search instead for 
Did you mean: 

Category of Products with Observer condition Error?

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_KolupadiRestrict.xml

 

 

<?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/KolupadiRestrict/etc/config.xml

 

<?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/KolupadiRestrict/Model/Observer.php

 

<?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?