2013-04-26 72 views
6

我用下面的代碼嘗試獲取prestashop中的當前用戶ID .. am將此代碼放置在我的模塊目錄中的另一個php文件中並通過模塊文件調用它。如何獲取Prestashop當前用戶標識?

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

但它的工作不適合我。我使用的Prestashop 1.5 ..

+0

你能否提供更多的細節?你想在你的PHP文件中做什麼?你在前臺還是後臺?你的php文件是用ajax調用的嗎? 我們需要上下文來了解問題的來源。 – AlexDeb 2014-01-19 13:05:41

+0

我已經得到了答案AlexDeb – Manik 2014-01-27 10:55:54

+1

http://blog.gofenice.com/uncategorized/get-current-user-id-prestashop/ – 2015-11-12 06:45:48

回答

12

我當然不能讓它在我的測試工作,要麼。不過,你可以試試

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

這對我有用。我不確定這是否是最好的方法。如果

+0

http://blog.gofenice.com/uncategorized/get-current-user-id -prestashop/ – 2015-10-26 03:33:31

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/ – 2015-11-12 06:48:32

3

比獲得ID登錄你不應該使用的cookie。

只要使用此:

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

你可以刪除(INT),但我想說明的內容即時得到的類型。

BR的

+0

http://blog.gofenice.com/uncategorized/get-current-user-id-prestashop/ – 2015-11-12 06:48:18

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被投爲加入他的一行「在控制器中」 – 2015-06-30 08:44:24