7

我使用下面的代码尝试在 prestashop 中获取当前用户 ID。我将此代码放在我的模块目录中的另一个 php 文件中,并通过模块文件调用它。

 $id = $this->context->customer->id_customer;

但它对我不起作用..我正在使用 prestashop 1.5 ..

4

4 回答 4

12

我当然也无法让它在我的测试中工作。不过,你可以试试

$id = (int)$this->context->cookie->id_customer;

这对我有用。我完全不确定这是不是最好的方法。

于 2013-04-26T20:32:15.623 回答
7

首先检查用户是否登录而不是通过获取 id$this->context->customer->id_customer

if ($this->context->customer->isLogged()) {

      echo $this->context->customer->id_customer;

}
else{
   echo 'Not LoggedIn';
}
于 2013-07-03T11:17:55.397 回答
4

在 Prestashop 1.6 中,控制器中最好的方法是使用:

        $id_customer = null;
        if ($this->context->customer->isLogged()) {
            // code to execute if i am logued
             $id_customer = $this->context->customer->id;
        }
于 2014-07-23T08:42:13.010 回答
3

你不应该使用cookie。

只需使用这个:

    $id=(int)$this->context->customer->id;

您可以删除 (int),但我喜欢指定我正在获取的内容类型。

BR的

于 2014-01-14T08:03:45.640 回答