我使用prestshop的多商店选项。我想在注册后将第二家商店的客户传递给手动激活。
实际上我在authentication.php中设置了$customer->active = 0;
。
所有注册客户在注册后都是不活动的。
是否有一种方法来设置$customer->active = 0;
只是一个网站。
我想获得shop_id
,但我不知道如何发展我的想法。
的Prestashop 1.6 :
您可以使用Context对象获取id_shop
。
所以,我认为你可以这样做:
如果你知道id_shop
(假设id_shop
= 1)
if (Context::getContext()->shop->id == 1) {
$customer->active = 0;
} else {
$customer->active = 1;
}
希望有帮助。
编辑
更新了从上下文获取id_shop
的答案,因为Customer对象在添加之前不会处理它。
改订
在Customer
类(/classes/Customer.php)中自定义add()
函数
在第212行(在"last_passwd_gen"声明之后)周围添加这一行:
$this->active = ($this->id_shop == 3) ? false : true;
但是对您来说最好的解决方案是创建一个重写函数