在从PayPal重定向后,我通过paypal快速结账进行交易时遇到了这个错误。
我在送货方式中发现了这个错误。
我使用的是magento 1.7版本。
这是它给出错误的代码
protected function _beforeToHtml()
{
$methodInstance = $this->_quote->getPayment()->getMethodInstance(); // here i get error
$this->setPaymentMethodTitle($methodInstance->getTitle());
$this->setUpdateOrderSubmitUrl($this->getUrl("{$this->_paypalActionPrefix}/express/updateOrder"));
$this->setUpdateShippingMethodsUrl($this->getUrl("{$this->_paypalActionPrefix}/express/updateShippingMethods"));
$this->setShippingRateRequired(true);
if ($this->_quote->getIsVirtual()) {
$this->setShippingRateRequired(false);
} else {
// prepare shipping rates
$this->_address = $this->_quote->getShippingAddress();
$groups = $this->_address->getGroupedAllShippingRates();
if ($groups && $this->_address) {
$this->setShippingRateGroups($groups);
// determine current selected code & name
foreach ($groups as $code => $rates) {
foreach ($rates as $rate) {
if ($this->_address->getShippingMethod() == $rate->getCode()) {
$this->_currentShippingRate = $rate;
break(2);
}
}
}
}
// misc shipping parameters
$this->setShippingMethodSubmitUrl($this->getUrl("{$this->_paypalActionPrefix}/express/saveShippingMethod"))
->setCanEditShippingAddress($this->_quote->getMayEditShippingAddress())
->setCanEditShippingMethod($this->_quote->getMayEditShippingMethod())
;
}
$this->setEditUrl($this->getUrl("{$this->_paypalActionPrefix}/express/edit"))
->setPlaceOrderUrl($this->getUrl("{$this->_paypalActionPrefix}/express/placeOrder"));
return parent::_beforeToHtml();
}
答案 0 :(得分:0)
您可以清楚地说明您的问题,并将代码发布到您收到错误的位置,以便我们可以期待解决您的问题。
错误背后的原因可能是你在没有正确初始化的对象上调用方法getpayment()。