Magento致命错误:调用成员函数getSize()

时间:2013-07-07 01:00:57

标签: magento

我有三种产品分配到默认类别以下的类别。 “管理类别”显示“类别”处于活动状态,“类别产品”选项卡正确显示三个产品该类别显示为ID:4

在CMS中>页面>主页>我有的内容:

{{block type="catalog/product_list" column_count="4" category_id="4" template="catalog/product/list.phtml"}}

清除缓存和重建索引(现在很多次)之后,主页给出了这个错误:

  

致命错误:在/home8/mauipine/public_html/magento/app/design/frontend/default/pineapple/template/catalog/product/list/toolbar_top.phtml中调用非对象上的成员函数getSize()在第34行

我在Magento网站上尝试了许多解决方案,但无法解决错误。如果我使用不存在的category_id,例如3我没有收到错误,只是得到“没有符合选择的产品。”

2 个答案:

答案 0 :(得分:1)

有人在这方面给你一个具体的答案是很困难的。根据你的错误

  

致命错误:在/home8/mauipine/public_html/magento/app/design/frontend/default/pineapple/template/catalog/product/list/toolbar_top.phtml中调用非对象上的成员函数getSize()在第34行

toolbar_top.phtml文件不是(据我所知)任何标准Magento安装的一部分。您的自定义pineapple主题添加了此文件,并以某种方式将其合并到Magento系统的布局中。不幸的是,它似乎与您正在进行的catalog/product_list阻止调用不兼容。在该文件的某个位置,您将看到对getSize的调用,类似这样的内容(该变量可能不会被命名为$object

$object->getSize();

强力解决方案是在该语句周围添加条件代码,否则可能无法实例化面$object的帐户。

if(is_object($object))
{
    $object->getSize();
}

答案 1 :(得分:0)

非常感谢!我在7 In One Catalog by etatvasoft扩展和mobileshoppe主题中遇到了同样的问题。以这种方式更改toolbar_top和toolbar_bottom模板中的第一个条件就足够了:

<?php if(is_object($this->getCollection()) and $this->getCollection()->getSize()): ?>