2012-03-06 20 views
4

Magentoで顧客のメールアドレスを取得するにはどうすればよいですか?最終的には、すべての出荷明細をCSV形式でエクスポートしたいと考えています。今思い出すとMagento - 注文/顧客IDを使用してメールアドレスを取得する方法

<?php 
    //External script - Load magento framework 
    require_once("app/Mage.php"); 
    Mage::app('default'); 

    $myOrder=Mage::getModel('sales/order'); 
    $orders=Mage::getModel('sales/mysql4_order_collection'); 
    $allIds=$orders->getAllIds(); 
    foreach($allIds as $thisId) { 
     $myOrder->load($thisId); 
     echo "name: ". $myOrder->getShippingAddress()->getFirstname() . " " . $myOrder->getShippingAddress()->getLastname(); 
     echo "email: " . $myOrder->getPayment()->getOrder()->getEmail(); 
    } 
    ?> 
+0

echo "name:" $ myOrder-> getShippingAddress() - > getFirstname()。 "|" 。 $ myOrder-> getShippingAddress() - > getLastname();これはアドレスの最初の行から私に名前を与えません。名前を抽出するための提案はありますか? –

答えて

1

、メールアドレスもそう、送料/課金情報を格納されます。

$myOrder->getShippingAddress()->getEmail() 
+0

私はそれを試みましたが、残念ながらうまくいきません。 –

+0

Hmmm、$ myOrder-> getCustomerEmail()を試すことができます –

+0

getCustomerEmail()はMagento 1.7では動作しますが、1.4では動作しません –

21

あなたは使用することができますMagentoの1.6でテスト

echo "name: ". $myOrder->getCustomerName(); 
echo "email: " . $myOrder->getCustomerEmail(); 

(。 2.0)

+0

Magento 1.7ではgetCustomerEmail()は動作しますが、1.4では動作しません –

+0

は1.8で動作します。 – MaGnetas

+0

これらのメソッドはバージョン1.6.2.0〜1.9.1.0が含まれています! – Michelangelo

1

注文顧客IDを使用してメールアドレスを利用するには、次のコードを使用してください。

$orderId = '100000023'; // mention order id here 
    $order = Mage::getModel('sales/order')->loadByIncrementId($orderId); 
    $shippingAddress = $order->getShippingAddress(); 
    echo $shippingAddress->getEmail(); 
関連する問題