我在prestashop中使用多商店选项。我希望在注册后将第二家商店的客户转为手动激活。
实际上我在authentication.php中设置了$customer->active = 0;
。
两个网站的所有注册客户在注册后都处于非活动状态。
有没有办法为一个网站设置$customer->active = 0;
。
我想得到shop_id
,但我不知道如何发展我的想法。
答案 0 :(得分:1)
在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对象在添加之前无法处理。
<强> RE-修改
在Customer
类(/classes/Customer.php)中自定义add()
函数。
在第212行附近添加此行(在&#34; last_passwd_gen&#34;声明之后):
$this->active = ($this->id_shop == 3) ? false : true;
但最适合您的方法是创建一个override函数。