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 将送货地址作为默认地址,而不是帐单地址

Magento:如何从选定/输入的送货地址中获取 countryID

如何在magento中启动一个功能

PayPal API 通过交易 ID 获取送货地址

Magento 2.3 发货

如何为销售订单设置“Ship To Select”送货地址下拉字段?