多店,手动激活帐户与prestashop

时间:2016-08-30 15:09:47

标签: prestashop account manual activation multistore

我在prestashop中使用多商店选项。我希望在注册后将第二家商店的客户转为手动激活。

实际上我在authentication.php中设置了$customer->active = 0;

两个网站的所有注册客户在注册后都处于非活动状态。

有没有办法为一个网站设置$customer->active = 0;

我想得到shop_id,但我不知道如何发展我的想法。

1 个答案:

答案 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函数。