-1

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

app/design/adminhtml/default/mytemplate/template/sales/order/shipment/create/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 函数填充了对象;我正在做的事情已经漂泊了......

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

4

1 回答 1

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;
    }

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

这个答案显然是错误的......仍在努力寻找解决方案......让我很困惑......

于 2012-06-27T01:00:43.177 回答