【问题标题】:Get product information of the latest orders in Magento在 Magento 中获取最新订单的产品信息
【发布时间】:2011-12-27 13:35:29
【问题描述】:

默认情况下,Magento 获取订单信息,例如送货、地址,但对产品的了解不多。我想获取最新的订单信息,包括产品 url、产品缩略图等。我尝试加入订单平面表以获取信息。但我发现 sales_flat_order_item 表中只有产品名称。那么如何获取产品网址和缩略图呢?

我在块中编写了一个函数来获取有关订单的一些信息,magento的新手,你想告诉我这是否是从magento获取数据的好方法,如果不是,那么请告诉你的方法。

    public function getOrderCollection() {
    $orders = Mage::getModel('sales/order')->getCollection();
    $orders->getSelect()
        ->join(
            array('addr' => Mage::getSingleton('core/resource')->getTableName('sales/order_address')),
            'main_table.entity_id = addr.parent_id',
            array('addr.*')
        )       
        ->join(
            array('itemz' => Mage::getSingleton('core/resource')->getTableName('sales/order_item')),
            'main_table.entity_id = itemz.order_id', 
            array('itemz.*')
        )
        ->join(
            array('product' => Mage::getSingleton('core/resource')->getTableName('catalog/product')),
            'itemz.product_id = product.entity_id',
            array('product.*')
        )
        ;
    $orders
        ->addAttributeToFilter('main_table.status', 'Processing')
        ->addAttributeToFilter('addr.address_type', 'shipping')
        ->addAttributeToSort('main_table.entity_id', 'asc')
        ;


    return $orders;
}

【问题讨论】:

    标签: magento


    【解决方案1】:

    您可能想做的是使用$order->getAllItems()$order->getAllVisibleItems()。两者的区别在于 getAllItems() 返回所有项目,包括可配置/分组产品及其子产品,而 getAllVisibleItems() 仅返回父产品。

    您可以从那里获取集合并使用$item->getProduct(),或者您更可能需要像这样加载产品:

    Mage::getModel('catalog/product')->load($item->getProductId());
    

    据我所知,您正在寻找这样的代码:

    $items = $order->getAllItems();
    foreach ($items as $item) {
      $product = Mage::getModel('catalog/product')->load($item->getProductId());
      /* Use product methods here to get required data */
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多