compare only those product who have same category magento

≡放荡痞女 提交于 2019-12-04 21:13:50

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!