Magento:通过 id 向特定用户添加送货地址
Posted
技术标签:
【中文标题】Magento:通过 id 向特定用户添加送货地址【英文标题】:Magento: Add an shipping address to specific user by id 【发布时间】:2014-05-26 12:51:18 【问题描述】:我想问我的进口商一个问题。
我从 Magento 获得了一个用户 ID,并从我的外部数据库中获得了一个地址,例如“名字、姓氏、街道、邮政编码、城市等”。是否有一个 magento 功能可以创建一个带有这样记录的新送货地址并将其分配给用户?所以,Magento 必须自动在数据库中设置它,没有这种情况,我必须在数据库中进行更改,只有 php Magento 魔术?
谢谢
【问题讨论】:
【参考方案1】:Magento 允许为客户保存多个地址。因此,您不需要对数据库进行任何更改。
如果您想在结帐时保存地址,就这样做。假设您的 customerId 是 10,您可以通过以下方式保存收货地址:
$customerId = 10;
$addressArray = Array('prefix' => '',
'firstname' => 'Firstname',
'lastname' => 'Lastname',
'suffix' => '',
'company' => 'Company',
'street' => array('Address1', 'Address2', 'Address3'),
'city' => 'City',
'region' => 'State',
'country_id' => 'cc',
'postcode' => 'ZIP',
'telephone' => 'PhoneNum',
'fax' => 'FaxNum');
$shippingAddress = Mage::getModel('customer/address')
->setData($addressArray)
->setCustomerId($customerId)
->setSaveInAddressBook('1');
$shippingAddress = $quote->getShippingAddress()
->setShouldIgnoreValidation(true)
->addData($shippingAddress);
您可以循环上面的代码以获取不同的地址。如果此地址是您的默认送货地址,您可以通过以下代码将其设为默认:
$addressArray['is_default_shipping'] = 1;
祝你好运!
【讨论】:
以上是关于Magento:通过 id 向特定用户添加送货地址的主要内容,如果未能解决你的问题,请参考以下文章
Magento:Paypal 将送货地址作为默认地址,而不是帐单地址