删除magento中的客户地址
我需要以编程方式删除客户地址,但我没有找到一个函数来执行此操作删除magento中的客户地址,magento,Magento,我需要以编程方式删除客户地址,但我没有找到一个函数来执行此操作 $recordedAddresses = array(); foreach ($customer->getAddresses() as $address) { $recordedAddresses = $address->toArray(); } 我已经采取了地址的收集如上所示,我只想删除他们的id。 奇怪的是,我并没有找到使用API的例子。 有人能帮我一下吗?看看Mage
$recordedAddresses = array();
foreach ($customer->getAddresses() as $address)
{
$recordedAddresses = $address->toArray();
}
我已经采取了地址的收集如上所示,我只想删除他们的id。
奇怪的是,我并没有找到使用API的例子。
有人能帮我一下吗?看看Mage\u Customer\u AddressController类和deleteAction()方法。基本上,您只需按地址的id加载地址:
$address=Mage::getModel('customer/address')->load($addressId)代码>
然后删除它:
$address->delete()代码>
delete()
是可以针对所有模型运行的标准方法(请参见Mage\u Core\u Model\u Abstract
),您还可以设置\u isDeleted
标志并调用save()
,这将产生相同的结果。在我的情况下,Magento在使用$address->delete()
后以某种方式保留空实体。帐户上存在空地址,管理员在使用此方法时无法保存客户表单
我发现从用户帐户中实际删除地址的唯一方法是将受保护的$\u isDeleted标志更改为true:
$address=Mage::getModel('customer/address')->load($addressId);
$address->isDeleted(true);
希望这能为那些无意中发现相同Magento行为的人节省一些时间 太好了。非常感谢。