0

我将三个产品分配到默认类别之下的一个类别。管理类别显示类别处于活动状态,类别产品选项卡正确显示三个产品。类别显示为 ID:4

在 CMS > Pages > Home Page > Content 我有:

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

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

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

我尝试了许多在此处和 Magento 网站上找到的解决方案,但无法解决该错误。如果我使用不存在的 category_id,例如 3,我不会收到错误,而只会收到“没有与选择匹配的产品”。

4

2 回答 2

1

太谢谢了!我对 7 In One Catalog By etatvasoft 扩展和 mobileshoppe 主题有同样的问题。以这种方式更改工具栏顶部和工具栏底部模板中的第一个条件就足够了:

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

于 2014-01-16T11:13:54.493 回答
1

有人很难给你一个具体的答案。根据您的错误

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

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

$object->getSize();

蛮力修复将是在该语句周围添加条件代码,否则$object可能无法实例化面部。

if(is_object($object))
{
    $object->getSize();
}
于 2013-07-07T06:28:48.607 回答