cancel
Showing results for 
Search instead for 
Did you mean: 

Category of Products with Observer condition Error?

   Did you know you can see the translated content as per your choice?

Translation is in progress. Please check again after few minutes.

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?