0

商品詳細ページにカテゴリー名を表示させたいと思っています。そのために私は使用しています

 $cat_name=Mage::registry('current_category')->getName();

カテゴリ名を表示します。しかし、ウィッシュリストページに移動して製品画像をクリックすると、エラーが発生します:- 致命的なエラー: /opt/lampp/htdocs/dominie/app/design/frontend/ の非オブジェクトでメンバー関数 getName() を呼び出すdefault/dominie/template/catalog/product/view.phtml.

どうすればこの問題を解決できるか教えてください。

4

2 に答える 2

0

ウィッシュリスト モジュールのコレクションにウィッシュリストに追加されたカテゴリ名も含まれるように、ウィッシュリスト モジュールで $cat_name を定義してみてください。これにより、オーバーヘッドが確実に削減されます。

于 2013-03-13T13:02:30.343 に答える
0

以下のコードをテストしたところ、template/catalog/product/view.phtml に追加すると v1.7 で動作します。

ただしMage::registry('current_category');、カテゴリ ページから製品ページに移動した場合にのみ使用できます (テストされていませんが、URL 内にカテゴリ名を含む seo URL があるかどうかにも依存する可能性があります)。

<?php
  $_helper = $this->helper('catalog/output');
  $_category_detail=Mage::registry('current_category');
  echo  $_category_detail->getName(); //gives current  category name
  echo $_category_detail->getId(); //gives current category id
?>

http://vinayp.com.np/how-to-get-category-name-and-id-on-product-page-on-magento/を参照してください

商品が属するすべてのカテゴリを表示するには

<?php $categories = $_product->getCategoryIds(); ?>
<?php foreach($categories as $k => $_category_id): ?>
    <?php $_category = Mage::getModel('catalog/category')->load($_category_id) ?>              
    <a href="<?php echo $_category->getUrl() ?>"><?php echo $_category->getName() ?></a>
<?php endforeach; ?>

http://www.magentocommerce.com/boards/viewthread/27720/を参照してください

于 2013-03-13T11:54:57.403 に答える