【问题标题】:get category image outside of category template in Magento在 Magento 中获取类别模板之外的类别图像
【发布时间】:2013-07-09 01:21:22
【问题描述】:

如何从类别模板 (view.phtml) 之外获取当前类别图像? 例如,如果我想从 header.phtml 或 footer.phtml 获取它。

我尝试从 view.phtml 复制代码:

<?php
$_helper    = $this->helper('catalog/output');
$_category  = $this->getCurrentCategory();
$_imgHtml   = '';
if ($_imgUrl = $_category->getImageUrl()) {
$_imgHtml = '<p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this->htmlEscape($_category->getName()).'" title="'.$this->htmlEscape($_category->getName()).'" /></p>';
$_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
}
?>

但我在重新加载页面时收到此错误: 致命错误:在非对象上调用成员函数 getImageUrl()

【问题讨论】:

    标签: magento magento-1.7


    【解决方案1】:

    尝试加载您的类别

    Mage::getModel('catalog/layer')->getCurrentCategory()
    

    改为。

    【讨论】:

      【解决方案2】:

      这应该可行:

      $_helper    = $this->helper('catalog/output');
      $category = Mage::registry('current_category');
      $_imgHtml   = '';
      if ($category){
      
          if ($_imgUrl = $_category->getImageUrl()) {
              $_imgHtml = '<p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this->htmlEscape($_category->getName()).'" title="'.$this->htmlEscape($_category->getName()).'" /></p>';
              $_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
          }
      }
      

      【讨论】:

      • 嘿 Marius,我试过这个,但是当我为此更改原始代码时,我收到错误 Call to a member function getImageUrl() on a non-object。我已将其粘贴到 template/catalog/category/view.phtml - 我做错了什么??
      • 检查Mage::registry('current_category');是否返回一些东西。如果你不在类别视图页面上,那应该返回null。上面的代码只适用于分类页面,页面中的任何地方。
      • 嘿 Marius,我已将 Mage::registry('current_category'); 添加到 category/view.phtml 中,但它什么也没带回来...请帮助我了解我做错了什么。谢谢
      • @ArturasStrazdas。你是什​​么意思你添加了Mage::registry('current_category');。我不明白你的意思。
      • 对不起,我是开发 Magento 主题的新手。也许我误解了你的评论。你说检查Mage::registry('current_category'); 是否返回任何东西,我将它添加到 view.phtml 以检查它是否得到任何东西而它没有。谢谢您的帮助。附言我正在开发 RWD Magento 1.9 主题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      • 2020-03-05
      • 2014-03-27
      相关资源
      最近更新 更多