Загрузка данных по заказу через Mage :: GetModel ('Sales/Order')
-
16-10-2019 - |
Вопрос
Я пытаюсь загрузить данные заказа (электронная почта + имя) из моих магазинов. У нас есть много магазина.
Проблема, которую у меня есть, заключается в том, что когда я запускаю этот код в магазине 1 или магазин 2 - оба приводят к полной коллекции заказов. Мне нужны заказы, принадлежащие хранилище 1 или 2 и т. Д.
Плата ниже является частью PHP в корне моего домена.
Я попробовал все три варианта, упомянутые ниже ...
Mage::app();
[OPTIONS I TRIED]
// ->addAttributeToFilter('store_id', Mage::app()->getStore()->getId())
//->addStoreFilter(Mage::app()->getStore()->getId())
// ->setStoreId(Mage::app()->getStore()->getId())
$orders = Mage::getModel('sales/order')
->getCollection()
[OPTIONS]
Как это может быть сделано?
Решение
Это должно работать на версиях 1.4.0.1+
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
Mage::app($mageRunCode,$mageRunType);
$orders = Mage::getModel('sales/order')
->getCollection()
->addFieldToFilter('store_id', Mage::app()->getStore()->getId())
->addAttributeToFilter('status', Mage_Sales_Model_Order::STATE_COMPLETE)
->addAttributeToSort('entity_id', 'DESC');
echo "<html><body>";
foreach($orders as $order) {
echo $order->getCustomerName() . "\t" .
$order->getCustomerEmail() . "\r\n<br />";
}
Не связан с magento.stackexchange