2013-04-26 3 views
6

Я использовал приведенный ниже код, чтобы попытаться получить текущий идентификатор пользователя в prestashop. размещаю этот код в другом php-файле в моем каталоге модулей и вызываю его через файл модуля.Как получить текущий идентификатор пользователя Prestashop?

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

, но он не работает для меня .. Я использую PrestaShop 1.5 ..

+0

Можете ли вы дать более подробную информацию? Что вы пытаетесь сделать в своем php-файле? Вы находитесь в передней или задней части офиса? Является ли ваш php-файл с помощью ajax? Нам нужен контекст, чтобы понять, от чего может возникнуть проблема. – AlexDeb

+0

У меня уже есть ответ AlexDeb – Manik

+1

http://blog.gofenice.com/uncategorized/get-current-user-id-prestashop/ –

ответ

12

Я, конечно, не мог заставить его работать в моем тесте либо. Однако вы можете попробовать

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

который работает для меня. Я вовсе не уверен, что это лучший способ сделать это.

+0

http://blog.gofenice.com/uncategorized/get-current-user-id -prestashop/ –

7

Сначала проверьте, если пользователь вошел в систему, чем получить идентификатор по $this->context->customer->id_customer

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

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

} 
else{ 
    echo 'Not LoggedIn'; 
} 
+0

http://blog.gofenice.com/uncategorized/get-current-user-id-prestashop/ –

3

Вы не должны использовать куки.

Просто используйте:

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

можно удалить (INT), но я хотел бы указать тип содержимого им получать.

БР

+0

http://blog.gofenice.com/uncategorized/get-current-user-id-prestashop/ –

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

Up проголосовал за добавление своей строки «в контроллер» –

 Смежные вопросы

  • Нет связанных вопросов^_^