致命错误:在line1389上的\ app \ cose \ core \ Mage \ Catalog \ Model \ Product.php中的非对象上调用成员函数getSource()

时间:2013-03-27 07:10:43

标签: magento

我在正在开发的网站的本地实例上的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

3 个答案:

答案 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分配给默认属性集时,问题已解决。