開発中のサイトのローカルインスタンスの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
開発中のサイトのローカルインスタンスの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
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でフェッチされていました。
これらの属性を作成し、それらをデフォルトの属性セットに割り当てると、問題が解決しました。
次のコードを見つける
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/
その他のヒントを入手してください属性の完成方法
これらの属性を作成し、デフォルトの属性セットにtemを割り当てると、問題が解決しました。