2011-12-17 111 views
1

我试图在购物车页面上显示产品类别,但它返回空数组。 我使用的文件是 /app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php如何在Magento的购物车页面上显示类别名称

我的代码是

public function getCustumcatId(){ 
    $proid=$this->getProduct()->getId(); 
    $mproduct = Mage::getModel('catalog/product')->load($proid); 
    $ids=$this->getProduct()->getCategoryIds(); 
    return $ids; 
} 

回答

3

A产品可以分配给许多类别,所以没有显著修改你可能无法找出哪些类别该产品是从哪里来的,但是这可能能够做到你从那个类后:

<?php 

$_catCollection = $this->getItem()->getProduct()->getCategoryCollection(); 

foreach ($_catCollection as $_category) { 
    // do stuff with your Mage_Catalog_Model_Category 
} 
0

经过多次的试验和错误最后我有问题的答案。我想分享它。我希望它可以帮助别人..

复制/app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php/app/code/local/Mage/Checkout/Block/Cart/Item/Renderer.php,使这一变化:

public function getCustumcatId() 
{ 
    $proid=$this->getProduct()->getId(); 
    $categoryIds=$this->getProduct()->getCategoryIds($proid); 
    foreach($categoryIds as $categoryId) 
    { 
     $category = Mage::getModel('catalog/category')->load($categoryId); 
    } 
    return $category->getName(); 
} 

而对于车页面上显示的类别名称 开放/app/design/frontend/em0014/default/template/checkout/cart/item/default.php 线附近没有.36

<?php 
    $mycat_name=$this->htmlEscape($this->getCustumcatId()); 
    echo "Categoryid".$mycat_name."<br>"; 
?> 
+2

欢迎来到StackOverflow。我对你的答案做了一个更正,因为对核心文件进行更改是一个坏主意。相反,将文件复制到`local`并在那里进行更改。同时请在答案旁边的复选标记打勾,以向其他人显示它是正确的。 – clockworkgeek 2011-12-18 13:11:30

相关问题