我在正在开发的网站的本地实例上的list.phtml页面上遇到以下错误--->
Fatal error: Call to amember function getSource() on a non-object in
D:\wamp\www\magento\app\code\core\Mage\Catalog\Model\Product.php on line 1389
答案 0 :(得分:13)
Fatal error: Call to a member function getSource() on a non-object in
\www\magento\app\code\core\Mage\Catalog\Model\Product.php on line 1389
我收到此错误是因为某些属性未在“管理员”面板中创建。
但是在list.phtml中正在使用$_product->getAttributeText('preferred')
值。
当我创建这些属性并将其分配给默认属性集时,问题已解决。
答案 1 :(得分:5)
找到以下代码
public function getAttributeText($attributeCode)
{
return $this->getResource()
->getAttribute($attributeCode)
->getSource()
->getOptionText($this->getData($attributeCode));
}
并替换为
public function getAttributeText($attributeCode)
{
if ($attribute = $this->getResource()->getAttribute($attributeCode)) {
return
$attribute->getSource()
->getOptionText($this->getData($attributeCode));
} else {
//Mage::log(\'attributes-errors.log\',$attributeCode);
return false;
}
}
来源:http://www.ubertheme.com/question/solving-error-fatal-error-call-to-a-member-function-getsource/
答案 2 :(得分:0)
请获取更多提示 属性如何完成
当我创建这些属性并将tem分配给默认属性集时,问题已解决。