メイジ:: getModel( 'Sales/Order')を介して注文の詳細をダウンロードする

magento.stackexchange https://magento.stackexchange.com/questions/4583

  •  16-10-2019
  •  | 
  •  

質問

私は自分の店から注文の詳細(電子メール +名前)をダウンロードしようとしています。複数の店があります。

私が抱えている問題は、このコードをストア1またはストア2で実行すると、両方とも注文の完全なコレクションが得られるということです。必要なのは、1つまたは2などのストアに属する注文です

下のスニペットは、私のドメインのルートにあるPHPの一部です。

以下に言及した3つのオプションすべてを試しました...

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 />";
}
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top