以编程方式设置客户网站 ID
-
13-12-2019 - |
题
有人可以告诉我为什么在通过外部脚本添加客户时,网站和存储值被忽略,并且客户始终分配给“管理员”而不是“主网站”。
我的 Magento 实例中只有 1 个网站和 1 个商店,每个网站的 id 均为 1
我的代码如下:
$customer = Mage::getModel("customer/customer");
$customer ->setWebsiteId(1)
->setStore(1)
->setFirstname('John')
->setLastname('Smith')
->setEmail('john@smith.com')
->setPassword('password')
->setGroupId('1');
try{
$customer->save();
}
catch (Exception $e) {
Zend_Debug::dump($e->getMessage());
}
解决方案
而不是使用 setStore()
你可以用 setStoreId()
$customer = Mage::getModel('customer/customer');
$email = 'john@smith.com';
$storeId = 1;
$website_id = Mage::getModel('core/store')->load($storeId)->getWebsiteId();
$customer->setWebsiteId($website_id);
$customer->setStoreId($storeId);
...
其他提示
您的代码有错误
->setStore()
.
上面没有拍摄商店ID的整数值,它需要当前商店的实例,例如。
->setStore(Mage::app()->getStore())
.
在你的情况下,我想象它是,
->setStore(Mage::getModel('core/store')->load(2));
.