我需要从简单的产品中获取父可配置产品,即使父产品被标记为已禁用.我还需要获取可配置产品的状态(启用或禁用).
现在我得到这样的父产品:
$parentIds = Mage::getResourceSingleton('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
if (isset($parentIds[0])) {
$product = Mage::getModel('catalog/product')->load($parentIds[0]);
}
Run Code Online (Sandbox Code Playgroud)
除非已禁用可配置产品,否则$ parentIds数组为空,这非常有效.即使它已被禁用,我也需要获取可配置产品,并确定是否启用/禁用了可配置产品.
任何帮助,将不胜感激!
当我从第三方服务获得某个响应时,我正在尝试将"处理"订单标记为完成.我已为此设置了所有设置,但唯一的问题是订单处于处理状态.
我正在生成发票(我不认为我需要这个,因为每个项目在Magento后端都标记为"已开发票")以及如此发货:
$order = Mage::getModel('sales/order')... (etc)
$shipment = $order->prepareShipment($quantities);
$shipment->register();
$shipment->setOrder($order);
$shipment->save();
$invoice = $order->prepareInvoice($quantities);
$invoice->register();
$invoice->setOrder($order);
$invoice->save();
Run Code Online (Sandbox Code Playgroud)
这似乎并没有这样做 - 我从这段代码中得不到任何错误,但订单仍然是处理.在后端,我仍然可以看到订单顶部的"发货"按钮,每个项目都处于"已开票"状态.
任何提示将非常感谢.
我正在尝试编写Magento(CE 1.4)扩展,以便在订单付款后导出订单数据.我已经建立了一个挂钩到sales_order_invoice_save_after事件的观察者,并且它正常工作 - 我的函数在生成发票时执行.但是我无法获得有关订单的信息,例如送货地址,帐单地址,订购的商品,订单总数等.
这是我的尝试:
class Lightbulb_Blastramp_Model_Observer {
public function sendOrderToBlastramp(Varien_Event_Observer $observer) {
$invoice = $observer->getEvent()->getInvoice();
$order = $invoice->getOrder();
$shipping_address = $order->getShippingAddress();
$billing_address = $order->getBillingAddress();
$items = $invoice->getAllItems();
$total = $invoice->getGrandTotal();
return $this;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试在所有这些变量上做一个print_r,最后得到了大量的数据.有人能指出我正确的方向获取订单的送货地址吗?
谢谢!