0

私は顧客のアドレスをmagentoから引き出しています

$customers = Mage::getModel('customer/customer')->getCollection();
foreach($customers as $customer){

    $primary[$i] = $customer->getPrimaryAddresses();

}

問題は、その関数からアドレスを取得できないことです。$customer->getAddresses() または $customer->getAdditionalAddresses(); で顧客の住所を取得できます。ただし、プライマリ アドレスはありません。getDefaultShippingAddress / getDefaultBillingAddress 関数も試しましたが、どちらも住所を返しません。

ちょっとイライラして、何が起こっているのか理解できません。Magento バックエンドでは、デフォルト/プライマリに設定されているアドレスを確認できるため、アドレスが設定されていることがわかります。

4

2 に答える 2

1

次の男/女のためにここに置いておくだけです...

1.8現在

getPrimaryAddresses は getPrimaryBillingAddress と getPrimaryShippingAddress を呼び出し、getPrimaryAddress は属性コード default_shipping または default_billing で getPrimaryAddress を呼び出します

したがって、アドレスがデフォルトとして設定されていないか、..

顧客 (または管理者) が注文したものの、アドレスをアカウント (ゲスト) に保存しなかった可能性もあります。そのため、顧客オブジェクトの getPrimaryBillingAddress メソッド (getPrimaryAddresses によって呼び出される) は、アドレスが注文に永続化されるため、null を返します。

于 2014-10-10T19:48:45.903 に答える