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