【问题标题】:Magento - Sort Items on Package Slip by SKUMagento - 按 SKU 对包裹单上的物品进行排序
【发布时间】:2015-05-27 13:27:07
【问题描述】:

我正在尝试按 SKU 对包裹单上的物品进行分类。我有一个自定义包裹单模块,它带有这个返回项目的函数:

class Devweb_Packslip_Model_Order_Shipment extends Mage_Sales_Model_Order_Shipment
{
    public function setOrder(Mage_Sales_Model_Order $order)
    {
        parent::setOrder($order);

        $this->_items = array();
        $items = $order->getAllItems();
        foreach ($items as $item) {
            $shipmentItem = Mage::getModel('sales/order_shipment_item');
            $shipmentItem->setShipment($this);
            $shipmentItem->setProductId($item->getProductId());
            $shipmentItem->setOrderItem($item);
            $shipmentItem->setQty($item->getQtyToShip());
            $shipmentItem->setSku($item->getSku());
            $skuArray[] = $shipmentItem->getSku();
            if (!$shipmentItem->getName()) {
                $shipmentItem->setName($item->getName());
            }
            $this->_items[] = $shipmentItem;
        }

    }
}

所以我基本上需要对 $items og $this->_items 进行排序 我已经四处寻找,但我不确定我是如何做到的。

感谢您的帮助。

【问题讨论】:

    标签: php arrays magento sorting multidimensional-array


    【解决方案1】:

    如果换行 $items = $order->getAllItems();

    使用代码$items = Mage::getModel('sales/order_item')->getCollection()->setOrderFilter($order)->setOrder('sku','asc'); 那么应该可以工作

    【讨论】:

    • 感谢您的快速回复。那并没有解决它。我试图在 foreach 循环内的日志中输出 SKU。输出仍然返回相同的排序。
    • 我已经测试了该代码,没有理由让它不工作。你用的是什么版本的magento?
    • 嗯。我正在使用 Magento 1.9.1
    猜你喜欢
    • 2018-10-07
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多