【问题标题】:Magento: Add an shipping address to specific user by idMagento:通过 id 向特定用户添加送货地址
【发布时间】:2014-05-26 12:51:18
【问题描述】:

我想问我的进口商一个问题。

我从 Magento 获得了一个用户 ID,并从我的外部数据库中获得了一个地址,例如“名字、姓氏、街道、邮政编码、城市等”。是否有一个 magento 功能可以创建一个带有这样记录的新送货地址并将其分配给用户?所以,Magento 必须自动在数据库中设置它,没有这种情况,我必须在数据库中进行更改,只有 php 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;
    

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-30
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 2020-04-02
      • 2013-01-07
      • 2017-07-01
      • 1970-01-01
      相关资源
      最近更新 更多