我用
将客户地址从magento中拉出来$customers = Mage::getModel('customer/customer')->getCollection();
foreach($customers as $customer){
$primary[$i] = $customer->getPrimaryAddresses();
}
问题是我从来没有从该功能获得任何地址。我可以通过$ customer-> getAddresses()或$ customer-> getAdditionalAddresses()获取客户地址;但没有主要地址。我也尝试过getDefaultShippingAddress / getDefaultBillingAddress函数,它们都没有返回任何地址。
现在让我有点恼火,我无法弄清楚最近发生了什么。在Magento后端,我可以看到哪个地址设置为默认/主要,所以我知道地址已经设置。
答案 0 :(得分:1)
离开这里为下一个男/女......
截至1.8
getPrimaryAddresses调用getPrimaryBillingAddress和getPrimaryShippingAddress调用get getPrimaryAddress,其属性代码为default_shipping或default_billing
因此,地址未设置为默认值或..
客户(或管理员)也可能下订单但未将地址保存到他们的帐户(客人)。因此,客户对象的getPrimaryBillingAddress方法(由getPrimaryAddresses调用)将返回null,因为地址在订单中持久存在。
答案 1 :(得分:0)
试试这个
$customers = Mage::getModel('customer/customer')->getCollection();
foreach($customers as $customer){
$addressId = $customer->getDefaultBilling();
if ($addressId){
$address = Mage::getModel('customer/address')->load($customerAddressId);
$htmlAddress = $address->format('html');
}
}
找到更多信息