Manikandan
Manikandan

Reputation: 1816

How to get Prestashop current user id?

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 ..

Upvotes: 7

Views: 16868

Answers (4)

Plici Stéphane
Plici Stéphane

Reputation: 291

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;
        }

Upvotes: 4

user2831723
user2831723

Reputation: 892

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

Upvotes: 4

Raza
Raza

Reputation: 1105

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';
}

Upvotes: 7

josephdietrich
josephdietrich

Reputation: 136

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.

Upvotes: 12

Related Questions