我使用下面的代码尝试获取prestashop中的当前用户ID。 我将此代码放在我的模块目录中的另一个php文件中,并通过模块文件调用它。
$id = $this->context->customer->id_customer;
但它不适合我..我正在使用prestashop 1.5 ..
答案 0 :(得分:12)
我当然也无法在我的测试中使用它。但是,您可以尝试
$id = (int)$this->context->cookie->id_customer;
对我有用。我完全不确定这是最好的方法。
答案 1 :(得分:7)
首先检查用户是否已登录,而不是$this->context->customer->id_customer
if ($this->context->customer->isLogged()) {
echo $this->context->customer->id_customer;
}
else{
echo 'Not LoggedIn';
}
答案 2 :(得分:3)
你不应该使用cookie。
请使用:
$id=(int)$this->context->customer->id;
你可以删除(int),但我想指定即将获得的内容类型。
BR的
答案 3 :(得分:3)
在Prestashop 1.6中,控制器的最佳方法是使用:
$id_customer = null;
if ($this->context->customer->isLogged()) {
// code to execute if i am logued
$id_customer = $this->context->customer->id;
}