Magento 致命错误:对非对象调用成员函数setProductFilter()

Magento 致命错误:对非对象调用成员函数setProductFilter(),magento,fatal-error,configurable-product,Magento,Fatal Error,Configurable Product,当我试图从管理面板创建一个可配置的产品时,我得到了以下错误 致命错误:对非对象调用成员函数setProductFilter 我没有尝试任何特别的东西。我刚去添加产品,从下拉列表中选择默认属性集和可配置产品,然后点击继续。但我无法创建可配置的产品 它在下面的行中显示错误 \第294行的app\code\core\Mage\Catalog\Model\Product\Type\Configurable.php 有谁能帮我一下吗?差不多两年过去了,我刚刚遇到了同样的问题,在Magento 1.9.0.

当我试图从管理面板创建一个可配置的产品时,我得到了以下错误

致命错误:对非对象调用成员函数setProductFilter

我没有尝试任何特别的东西。我刚去添加产品,从下拉列表中选择默认属性集和可配置产品,然后点击继续。但我无法创建可配置的产品

它在下面的行中显示错误

\第294行的app\code\core\Mage\Catalog\Model\Product\Type\Configurable.php


有谁能帮我一下吗?

差不多两年过去了,我刚刚遇到了同样的问题,在Magento 1.9.0.1中遇到了非常类似的问题。我找到了原因,这让我大吃一惊

注意:我在文件路径中使用反斜杠是因为我使用的是Windows。我看那次行动也很成功。以防万一有人要指出我的错误o

\第294行的app\code\core\Mage\Catalog\Model\Product\Type\Configurable.php如下所示:

return Mage::getResourceModel('catalog/product_type_configurable_attribute_collection')->setProductFilter($this->getProduct($product));
这应该做以下三件事:

使用$this->getProduct$product加载产品对象 使用Mage::getResourceModel“目录/产品类型可配置属性集合”生成资源对象 调用该资源对象的setProductFilter方法,传入 产品对象 它在第2步失败,因为Mage::getResourceModel'catalog/product\u type\u configurable\u attribute\u collection'尝试使用文件\app\code\core\Mage\catalog\Model\Resource\product\type\configurable\attribute\collection.php,至少在我的情况下,它不存在

确切地说,文件在那里,但它的扩展名是错误的-.ph而不是.php。看起来Magento CE 1.9.0.1是这样装运的。也许其他版本也会受到同样的影响

Magento CE 1.9.0.1有3种格式:.zip、.tar.gz和.tar.bz2。我将.tar.gz版本下载到Windows8.1系统上,并使用GnuWin的gzip for Windows和tar for Windows命令行实用程序将其解压缩。可能是因为我选择下载和解压缩的特定方式和/或因为我正在使用的操作系统而导致某些内容被破坏。或者这个文件在源代码处命名错误。不管怎样,将它重命名为.php为我解决了这个问题


希望这对某人有所帮助-正如我所看到的,这是一个非常流行的话题:oD

您是否安装了任何可能会改变产品保存方法的第三方模块?尝试禁用所有自定义模块(如果有),以查看其中一个是否正确导致此问题。我已经安装了一个多供应商插件。让我禁用该检查。但是在我的本地计算机窗口中,我得到了这个错误。但是在服务器Linux中,它工作得很好!猜猜看?
If your Problem  is - magento Call to a member function setProductFilter() on a non-object in app/code/core/Mage/Catalog/Model/Product/Type/Configurable.php on line 294


Go to -
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/

And see there are the Collection.php file exist or not.
I thing there are Collection.php file exist but the file extension is not correct format.

You can change the extension only, Make it Collection.php