我想只比较那些拥有相同父母的类别
例如, 用户可以将诺基亚手机与三星手机进行比较 但如果用户想要将诺基亚手机与鞋子进行比较,那么就不能比较这些产品了
帮助非常适合
提前感谢
答案 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。喜欢比较。