如何结合magento运输订单中的商品?

时间:2012-06-20 18:47:37

标签: magento

我正在考虑将来自不同订单的多件商品放入同一个包装箱中。理想情况下,当我去发货时,在该订单的商品部分,该客户的所有未清项目都会显示出来。我已将生成项目的代码隔离到:

应用程序/设计/ adminhtml /默认/ MyTemplate的/模板/销售/订单/装运/创建/ items.phtml

以及该文件中的代码行:

$ _ items = $ this-> getShipment() - > getAllItems();

在函数getAllItems中我添加了以下代码:

$cust_orders = Mage::getModel('sales/order')->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToSelect('entity_id')
    ->addFieldToFilter('customer_id',$this->getCustomerId());

foreach ($cust_orders as $order) {
    $order_id = $order->getEntityId();
    $cust_items = Mage::getModel('sales/order_item')
        ->getCollection()
        ->addAttributeToSelect('*')
        ->addFieldToFilter('order_id', $order_id);
    foreach ($cust_items as $cust_item) {
        { help! }
    }

我需要一些帮助!部分。我正在尝试将新数组($ cust_items)正确地放入数组$ items中。但我似乎无法想象那部分...它似乎是使用getItemsCollection函数填充对象;我正在做的事情已经漂浮了......

如果您有任何新想法,请告诉我。感谢。

1 个答案:

答案 0 :(得分:0)

   $cust_orders = Mage::getModel('sales/order')->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToSelect('entity_id')
    ->addFieldToFilter('customer_id',$this->getCustomerId());


foreach ($cust_orders as $order) {
    $order_id = $order->getEntityId();
    $cust_items = Mage::getModel('sales/order_shipment_item')
        ->getCollection()
        ->addAttributeToSelect('*')
        ->addFieldToFilter('parent_id', $order_id);
    foreach ($cust_items as $cust_item) {
        $items[] = $cust_item;
    }

其他一些小调整和更多测试,但我看起来很好。

这个答案显然是错误的......仍在努力寻找解决方案......对我来说非常困惑......