Question

Je suis en train de télécharger les détails de la commande (email name +) de mes magasins. Nous avons plusieurs magasins.

Le problème que j'ai est que quand je lance ce code sur STORE 1 ou 2 MAGASIN - deux résultat dans la collection complète des commandes. Ce que j'ai besoin est les commandes appartenant à STORE 1 ou 2 etc

L'extrait est ci-dessous une partie d'un PHP dans la racine de mon domaine.

J'ai essayé trois options mentionnées ci-dessous ...

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]

Comment cela peut-il être fait?

Était-ce utile?

La solution

Cela devrait fonctionner sur les versions 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 />";
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top