A-A+

关于获取Magento的最新订单

2012年08月24日 灵犀一指 关于获取Magento的最新订单已关闭评论 阅读 1,123 人 次

Magento模块开发的一般写法都是 Magento特有的MVC结构,如果你熟悉API或者想外部调用订单的信息,那么这篇文章可能会适合你

凡是数据处理都会有个数据逻辑处理,所以首先获取订单对象

[php]

$showProductNum = 6;

$orders = Mage::getResourceModel ( 'sales/order_collection' )
->addAttributeToFilter ( 'state', array ('in' => Mage::getSingleton ( 'sales/order_config' )
->getVisibleOnFrontStates () ) )
->addAttributeToSort ( 'created_at', 'desc' )
->setpage(1,$showProductNum);

$this->setOrders ($orders);

[/php]

这里定义一个showProductNum变量对显示个数加以控制,把获取 Mage_Sales_Model_Mysql4_Order_Collection的订单对象加以筛选并存在orders变量中。最新订单的关键在于 create_at字段按desc的降序来排列。

然后接下来可以显示了:

[php]

<?php foreach ($this->getOrders() as $order): ?>
<?php $products = $order->getParentItemsRandomCollection($showProductNum);?>
<?php foreach ($products as $product):?>
<li>
<img height="14" width="13" alt="" src="images/icon_car_gray.gif">&nbsp;&nbsp;<a href="<?php echo $product->getProduct()->getProductUrl(); ?>"><?php echo $this->stripTags($product->getName(), null, true) ?></a>
<br><font color="#ff0000"><?php echo "ship to ".$order->getCustomerName();echo ",".$order->getShippingAddress()->getCity();?></font>
</li>
<?php endforeach;?>
<?php endforeach;?>

[/php]

视图层中的函数命名比较容易明白它的坐用,都来自对应的类,具体可以查看所对应的API,demo是怎样的,如何改变数据输出,大家可以玩玩!

标签:

评论已关闭!