仅比较具有相同类别magento的那些产品

时间:2013-05-20 11:46:06

标签: magento magento-1.7

我想只比较那些拥有相同父母的类别

例如, 用户可以将诺基亚手机与三星手机进行比较 但如果用户想要将诺基亚手机与鞋子进行比较,那么就不能比较这些产品了

帮助非常适合

提前感谢

1 个答案:

答案 0 :(得分:2)

在app \ code \ core \ Mage \ Catalog \ controllers \ Product \ CompareController.php \中进行如下更改

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']);

那是所有人......享受比较...... 这是My blog。喜欢比较。