2011-12-17 39 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

相關問題