【发布时间】:2014-09-12 17:52:39
【问题描述】:
我有一个 Magento 扩展程序,它应该向 PayPal 订单添加捐款,但它在 Model/Observer.php 中引发错误。当人们使用 PayPal 并被重定向回我的网站时。显示此错误时的 URL 是 /paypal/express/placeOrder/。错误是Fatal error: Call to a member function getBaseDonation() on a non-object in [path]/Model/Observer.php on line 215。第 215 行在 if (!$donation) {
public function addPaypalItem($observer)
{
$cart = $observer->getEvent()->getPaypalCart();
$quote = $cart->getSalesEntity();
$donation = $quote->getBaseDonation();
if (!$donation) {
$donation = $quote->getShippingAddress()->getBaseDonation() ? $quote->getShippingAddress()->getBaseDonation() : $quote->getBillingAddress()->getBaseDonation();
}
if ($donation > 0) {
$cart->addItem(
Mage::helper('donations')->__('Donation'),
1,
$donation
);
}
return $this;
}
如何解决这个非对象问题?谢谢!
【问题讨论】: