我的任务是为Magento CE编写自定义付款方式,并在过去几周内对其进行修改。虽然我是一名经验丰富的开发人员,但这是我第一次使用php和Magento本身。“
请注意这是一个网络支付网关,所以我正在使用
public function getOrderPlaceRedirectUrl() { ... }
在我的付款方式模型中,成功将客户重定向到外部网址。
让我陷入困境一整天的问题是如何检索结帐购物车内容,运送详情和附加费(税,折扣等)。此信息需要发送到付款方式API。
我在付款方式模型中使用的代码是这样的:
$order_id = Mage::getSingleton("checkout/session")->getLastRealOrderId();
$order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
$oBillingAddress = $order->getBillingAddress(); //this works ok
$total = number_format($order->getBaseGrandTotal(), 2, '', ''); //this too
/* The following code won't work */
$oShippingAddress = $order->getShippingAddress(); // is unset!?
$oShippingAddress->getSameAsBilling(); //HOW can I check this?
$amount = array();
$quantity = array();
$sku = array();
$description = array();
$cart_items = $order()->getAllVisibleItems();
foreach ($cart_items as $item) {
$amount[] = number_format($item->getPrice(), 2, '', ''); //ok
$quantity[] = $item->getQtyToInvoice(); // is empty...
$sku[] = $item->getSku(); // nothing either??
$description[] = $item->getName(); //this is working
}
请Magento的巫师告诉我这里做错了什么?
Magento开发一直非常令人沮丧,主要是因为它缺乏简单的文档。我敢肯定它是非常可定制的,但不是,但滥用php的魔术功能和它繁琐的结构一直是一个挑战 - 至少。
答案 0 :(得分:1)
我认为你需要得到报价。这样的事情应该有效:
$quote = Mage::getSingleton('checkout/session')->getQuote();
$items = $quote->getAllVisibleItems();
foreach ($items as $item) {
$amount[] = number_format($item->getPrice(), 2, '', ''); //ok
$quantity[] = $item->getQtyToInvoice(); // is empty...
$sku[] = $item->getSku(); // nothing either??
$description[] = $item->getName(); //this is working
}
如果您仍然需要订单,请告诉我..