1. Override the product grid in local. /app/code/local/Mage/Adminhtml/Block/Catalog/Product/Grid.php
2. Add the below column in _prepareColumns() function,

$this->addColumn('category', array(
    'header' 	=> $this->__('Category'),
    'width'     => '100px',
    'align'  	=> 'left',
    'index'  	=> 'entity_id',
    'renderer'  => 'Mage_Adminhtml_Block_Catalog_Product_Renderer_Categories'
));

3. Create a renderer file Categories.php /app/code/local/Mage/Adminhtml/Block/Catalog/Product/Renderer/Categories.php

<?php
class Mage_Adminhtml_Block_Catalog_Product_Renderer_Categories extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
    
    /* get product categories 
     * @param integer $product_id
     * @return category collection of product
    */
    
    public function render(Varien_Object $row) {
        
        $productId =  $row->getData($this->getColumn()->getIndex());
        $product = Mage::getModel('catalog/product')->load($productId);

        $cats = $product->getCategoryIds();
        $allCats = '';
        foreach($cats as $key => $cat) {
            
            $_category = Mage::getModel('catalog/category')->load($cat);
            $allCats.= $_category->getName();
            if($key < count($cats)-1)
                $allCats.= ',<br />';
        }
        return $allCats;
    }
}

Categories: Magento

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *