6

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

3 回答 3

14
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

我收到此错误是因为某些属性未在管理面板中创建。但是使用$_product->getAttributeText('preferred')值是在 list.phtml 中获取的。

当我创建这些属性并将它们分配给默认属性集时,问题就解决了。

于 2013-03-27T07:14:05.800 回答
6

找到以下代码

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/

于 2015-02-23T21:03:35.377 回答
0

请获取更多提示属性如何完成

当我创建这些属性并将 tem 分配给默认属性集时,问题就解决了。

于 2013-09-15T12:11:28.500 回答