Question

I used the below code to try to get the current user ID in prestashop.. am placing this code in another php file in my module directory and call it through by the module file.

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

but its not working for me.. am using prestashop 1.5 ..

Was it helpful?

Solution

I certainly couldn't get it to work in my test either. However, you can try

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

which works for me. I'm not at all sure that this is the best way to do it though.

OTHER TIPS

First check if user is logged in than get the id by $this->context->customer->id_customer

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

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

}
else{
   echo 'Not LoggedIn';
}

In Prestashop 1.6, the best way in a controller is to use :

        $id_customer = null;
        if ($this->context->customer->isLogged()) {
            // code to execute if i am logued
             $id_customer = $this->context->customer->id;
        }

You shouldn't be using cookie.

Just use this:

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

you can remove (int), but i like to specify the type of content im getting.

BR's

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top