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

redmaomail 2024-07-24 18:12 阅读数 66 #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。

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

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

电商网站开发服务


红帽云邮外贸主机

分享到:
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
    红帽云邮外贸主机
热门
    红帽云邮外贸主机
    红帽云邮外贸主机