【问题标题】:Show fatal error when click to product detail page from wishlist page从愿望清单页面单击产品详细信息页面时显示致命错误
【发布时间】:2013-03-13 10:09:56
【问题描述】:

我正在尝试在产品详细信息页面中显示类别名称。为此,我正在使用

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

它显示类别名称。 但是当我进入愿望清单页面并单击产品图片时,它会给出错误:- 致命错误:在 /opt/lampp/htdocs/dominie/app/design/frontend/default/dominie/template/catalog/product/view.phtml 中的非对象上调用成员函数 getName()。

请帮我解决这个问题。

【问题讨论】:

    标签: magento magento-1.7


    【解决方案1】:

    刚刚测试了下面的代码,当添加到模板/目录/产品/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/

    【讨论】:

    • 我已经使用了 Mage::registry('current_category')。如果我们通过类别页面进入产品详细信息页面,则此方法有效。但是我们直接进入产品详情页面然后它开始显示问题。
    • 您是否使用 seo 友好的 url 和 url 中的类别名称?
    • 我只想在产品详细信息页面中显示类别名称。你的 $categories = $_product->getCategoryIds();..... 解决了问题
    【解决方案2】:

    尝试在您的愿望清单模块中定义 $cat_name,以便愿望清单模块中的集合也将包含添加到愿望清单的类别名称。这肯定会减少您的开销。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多