Category Archives: Magento

Create an observer Magento

Here this observer will display an additional message whenever a product is added to the cart.

Here the name space is PHPCodez

1) Change the directory to the root of magento installation

2) vi app/etc/modules/PHPCodez_Checkout.xml

3) Paste here the below given code

<?xml version=”1.0″?>

<config>

       <modules>

               <PHPCodez_Checkout>

                       <active>true</active>

                       <codePool>local</codePool>

               </PHPCodez_Checkout>

       </modules>

</config>

4) mkdir app/code/local/ (Run this command if local directory is not created )

5) mkdir app/code/local/PHPCodez

6) mkdir app/code/local/PHPCodez/Checkout

7) mkdir app/code/local/PHPCodez/Checkout/etc

8) mkdir app/code/local/PHPCodez/Checkout/Model

9) vi app/code/local/PHPCodez/Checkout/etc/config.xml

10) Paste here the below given code

<?xml version=”1.0″?>

<config>

<modules>

<PHPCodez_Checkout>

<version>0.1.0</version>

</PHPCodez_Checkout>

</modules>

<global>

<events>

<checkout_cart_product_add_after>

<observers>

<PHPCodez_Checkout_Model_Observer>

<type>singleton</type>

<class>PHPCodez_Checkout_Model_Observer</class>

<method>CustomerEdit</method>

</PHPCodez_Checkout_Model_Observer>

</observers>

</checkout_cart_product_add_after>

</events>

</global>

</config>

11) vi app/code/local/PHPCodez/Checkout/Model/Observer.php

12)  Paste here the below given code

<?php

       class PHPCodez_Checkout_Model_Observer {

               public function CustomerEdit($observer) {

                       echo Mage::getSingleton(‘checkout/session’)->addSuccess(“Inside Obserevr”);

               }

       }

?>

13) Clear the cache and check it by adding the product to cart .

Download source file

Hope it would be helpful

Share

Event and Observer in Magento

Magento has been programmed to use Event-Observer methodology and can raise events in crucial areas of the flow.

Observer is the event handler and it allows us to add our own logic in adition to the core logic without modifying the core code .

Event:  An Event is something that occurs in a certain place during a particular sequence flow.

Observer :   An Observer is an event handler. It listens to any event it is attached to and accordingly reacts to the event.

Share

List sub-categories on a category page flat catalog enabled Magento

<?php
$_cat = new Mage_Catalog_Block_Navigation();
$currentCat = $_cat->getCurrentCategory();
$subCats = Mage::getModel(‘catalog/category’)->load($currentCat->getId())->getChildren();
$subCatIds = explode(‘,’,$subCats);
?>

<?php if (count($subCatIds) > 1): ?>
<ul>
<?php foreach($subCatIds as $subCatId): ?>
<?php $subCat = Mage::getModel(‘catalog/category’)->load($subCatId); ?>

<li>
<a href=”<?php echo $subCat->getUrl(); ?>”>
<?php echo $subCat->getName(); ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>

Share

List sub-categories on a category page Magento

<?php
$_cat = new Mage_Catalog_Block_Navigation();
$currentCat = $_cat->getCurrentCategory();
$subCats = Mage::getModel(‘catalog/category’)->load($currentCat->getId())->getChildren();
$subCatIds = explode(‘,’,$subCats);
?>

<?php if (count($subCatIds) > 1): ?>
<ul>
<?php foreach($subCatIds as $subCatId): ?>
<?php $subCat = Mage::getModel(‘catalog/category’)->load($subCatId); ?>

<li>
<a href=”<?php echo $subCat->getUrl(); ?>”>
<?php echo $subCat->getName(); ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>

Share