我想选择Magento中所有订单的列表。
这是我需要的,以便在我目前正在处理的另一个PHP应用程序中显示magento的所有订单清单。
也有人可以使用Magento约定(例如Mage::
)为我写代码
我正在使用Magento 1.4.2版本。
谢谢,
标记
最佳答案
此代码使用“Magento方式”,并通过“模型”层访问数据,从而使您避免表结构的更改(例如,平面vs EAV)。在您的Magento安装的根目录中创建一个包含此框架代码的新PHP文件(如果在其他位置,请更新第一个require
语句的路径)。
这为您提供了一些有关如何向集合中添加属性的示例,如果需要,您应该能够按照这些示例进行添加。它显示了如何按属性过滤和按属性排序。还提供了回显所需字段的示例。
HTH,
京东
require_once 'app/Mage.php';
umask(0);
Mage::app('default');
$orders = Mage::getResourceModel('sales/order_collection')
->addAttributeToSelect('*')
->joinAttribute('billing_firstname', 'order_address/firstname', 'billing_address_id', null, 'left')
->joinAttribute('billing_lastname', 'order_address/lastname', 'billing_address_id', null, 'left')
->joinAttribute('billing_street', 'order_address/street', 'billing_address_id', null, 'left')
->joinAttribute('billing_company', 'order_address/company', 'billing_address_id', null, 'left')
->joinAttribute('billing_city', 'order_address/city', 'billing_address_id', null, 'left')
->joinAttribute('billing_region', 'order_address/region', 'billing_address_id', null, 'left')
->joinAttribute('billing_country', 'order_address/country_id', 'billing_address_id', null, 'left')
->joinAttribute('billing_postcode', 'order_address/postcode', 'billing_address_id', null, 'left')
->joinAttribute('billing_telephone', 'order_address/telephone', 'billing_address_id', null, 'left')
->joinAttribute('billing_fax', 'order_address/fax', 'billing_address_id', null, 'left')
->joinAttribute('shipping_firstname', 'order_address/firstname', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_lastname', 'order_address/lastname', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_street', 'order_address/street', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_company', 'order_address/company', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_city', 'order_address/city', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_region', 'order_address/region', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_country', 'order_address/country_id', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_postcode', 'order_address/postcode', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_telephone', 'order_address/telephone', 'shipping_address_id', null, 'left')
->joinAttribute('shipping_fax', 'order_address/fax', 'shipping_address_id', null, 'left')
->addFieldToFilter('status', array("in" => array(
'complete',
'closed')
))
->addAttributeToFilter('store_id', Mage::app()->getStore()->getId())
->addAttributeToSort('created_at', 'asc')
->load();
foreach($orders as $order):
echo $order->getIncrementId().'<br/>';
echo $order->getShippingTelephone().'<br/>';
endforeach;
关于php - magento订单列表查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5135283/