i want to compare only those category who have same parent,
for Example,
user can compare nokia mobile with samsung mobile
but if user want to compare nokia mobile with shoes than it will not allow to compare those products
Help is greatly appriciated
Thank You in Advance
In app\code\core\Mage\Catalog\controllers\Product\CompareController.php\ make changes like the following
if ($product->getId() /* && !$product->isSuper() */ ) {
$categoryIds = $product->getCategoryIds();
if (is_array($categoryIds) and count($categoryIds) > 1) {
$cat = Mage::getModel('catalog/category')->load($categoryIds[2]);
if(!isset($_SESSION['compare']))
{
$_SESSION['compare']=$cat->getId();
$_SESSION['comparecount']=0;
}
if($cat->getId() == $_SESSION['compare'] /* || $cat->getId() == 13 ||$cat->getId() == 18 ||$cat->getId() == 35*/ ) ///come back here
{
$_SESSION['comparecount']++;
Mage::getSingleton('catalog/product_compare_list')->addProduct($product);
Mage::getSingleton('catalog/session')->addSuccess(
$this->__('The product %s has been added to comparison list.:)', Mage::helper('core')->escapeHtml($product->getName()))
);
Mage::dispatchEvent('catalog_product_compare_add_product', array('product'=>$product));
}else
{
Mage::getSingleton('catalog/session')->addSuccess(
$this->__('The product %s not possible to add in comparison list.:(', Mage::helper('core')->escapeHtml($product->getName()))
);
}
}}
//// Same file in function removeAction() after condition
if($item->getId()) {
$item->delete();
/// add the following lines
$_SESSION['comparecount']--;
if($_SESSION['comparecount']<1) { unset($_SESSION['comparecount']); unset($_SESSION['compare']); }
//// Same file in function clearAction() after try { $items->clear();
//// add the following lines
unset($_SESSION['compare']);
That’s all guys… Enjoy comparison…
here is My blog. enjoy comparison.