多商店,使用 prestashop 手动激活帐户

Posted

技术标签:

【中文标题】多商店,使用 prestashop 手动激活帐户【英文标题】:multi store, manual activation account with prestashop 【发布时间】:2017-01-06 22:56:10 【问题描述】:

我在 prestashop 中使用多商店选项。我想在注册后将第二家商店的客户传递给手动激活。

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

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

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

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

【问题讨论】:

prestashop 版本是什么? 【参考方案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 对象在添加之前不会处理它。

重新编辑

Customer类(/classes/Customer.php)中自定义add()函数。

在第 212 行周围添加这一行(在“last_passwd_gen”声明之后):

$this->active = ($this->id_shop == 3) ? false : true;

但对您来说最好的解决方案是创建函数的override。

【讨论】:

感谢您的帮助,我使用 prestashop 1.6.1.2 但它不起作用我知道我在 controllers/front/AuthController.php 中添加的数据库中的 id_shop if (Context::getContext() ->shop->id == 3) $customer->active = 0; 其他 $customer->active = 1; 但注册后客户在两个网站上仍然不活跃 不客气。我重新编辑答案。要自定义的文件是classes/Customer.php。祝你好运。

以上是关于多商店,使用 prestashop 手动激活帐户的主要内容,如果未能解决你的问题,请参考以下文章

将产品添加到 Prestashop 1.6 中特定商店的购物车(以编程方式)

在 PRESTASHOP 的多存储 URL 上找不到所有 CSS 和 JS 文件

Prestashop Multistore 上的 404 页面

Prestashop 后台工作,但前台不工作。找不到网址

使用 Docker 将现有 Prestashop 部署到服务器

用户帐户激活、电子邮件确认和使用 Passport / Node.Js 的邀请