2011-12-17 16 views
1

商品カテゴリをカートページに表示しようとしていますが、空の配列を返します。 私はあなたが製品から来たことをどのカテゴリを見つけることができない場合があり重大な変更なしだから私のコードは、多くのカテゴリにMagentoのカートページにカテゴリ名を表示するには

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

答えて

3

製品割り当てることができますされ /app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php

で使用するファイルしかし、これは、あなたがそのクラスの後に何をすることができるかもしれません:

<?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

+0

こんにちは、Clockworkgeek、 あなたは正しいです、コアファイルを変更することは良い練習ではありません。ローカルフォルダにすべてのファイルを置くことができます – Saurabh

+0

それはまだ悪い習慣です。書き換えを行う方法を学ぶ必要があります。それはあなたのコードをもっときれいにします。 – seanbreeden

関連する問題