多商店,使用 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 页面