服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: 130-5800-8007
当前位置: 主页 > php教程 > magento教程 >

以编程的方式添加一个新的客户到Magento商店

时间:2017-01-29 08:34来源:未知 作者:最模板 点击:
我们程序员喜欢以编程的方式来添加Magento产品。虽然你可以通过一个注册表单或者管理界面来创建一个新的客户。在某些情况下,这可能需要很长时间。如果你有一群来自不同国家的客

我们程序员喜欢以编程的方式来添加Magento产品。虽然你可以通过一个注册表单或者管理界面来创建一个新的客户。在某些情况下,这可能需要很长时间。如果你有一群来自不同国家的客户要分配给不同的群体,那你最好选择用代码来实现。

首先,我们添加一个带有一些基础信息的客户。

$websiteId = Mage::app()->getWebsite()->getId();
$store = Mage::app()->getStore();
 
$customer = Mage::getModel("customer/customer");
$customer   ->setWebsiteId($websiteId)
            ->setStore($store)
            ->setFirstname('John')
            ->setLastname('Doe')
            ->setEmail('jd1@ex.com')
            ->setPassword('somepassword');
 
try{
    $customer->save();
}
catch (Exception $e) {
    Zend_Debug::dump($e->getMessage());
}

正如我们所见,上面的代码添加的用户只有姓、名、邮箱和密码。有时这些就够了,但我们可以做到更多。你可以添加中间名,把客户分配到特定的客户群,甚至给他们的名字加前缀或后缀。

$customer   ->setWebsiteId($websiteId)
            ->setStore($store)
            ->setGroupId(2)
            ->setPrefix('Sir')
            ->setFirstname('John')
            ->setMiddleName('2')
            ->setLastname('Doe')
            ->setSuffix('II')
            ->setEmail('jd2@ex.com')
            ->setPassword('somepassword');

为了让客户能下订单,我们需要添加一个地址并分配给客户。让我们实现它吧。

$address = Mage::getModel("customer/address");
$address->setCustomerId($customer->getId())
        ->setFirstname($customer->getFirstname())
        ->setMiddleName($customer->getMiddlename())
        ->setLastname($customer->getLastname())
        ->setCountryId('HR')
		//->setRegionId('1') //state/province, only needed if the country is USA
        ->setPostcode('31000')
        ->setCity('Osijek')
        ->setTelephone('0038511223344')
        ->setFax('0038511223355')
        ->setCompany('Inchoo')
        ->setStreet('Kersov')
        ->setIsDefaultBilling('1')
        ->setIsDefaultShipping('1')
        ->setSaveInAddressBook('1');
 
try{
    $address->save();
}
catch (Exception $e) {
    Zend_Debug::dump($e->getMessage());
}

要注意的是,setCountryID需要国家代码来作为值(你可以在后台通过检索客户创建页面'Country'输入框来获值)。上面的setGroupId方法也一样,你需要获取客户群的ID。

我希望大部分代码是不言自明的,由于我们从管理页面添加客户时知道哪些是必填项。唯一你要注意的就是必填项。

万一你有多个用户要添加,你可以花几秒钟为这段代码添加一个循环。

(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容