2013-04-26 13 views
6

Ho usato il codice seguente per cercare di ottenere l'ID utente corrente in prestashop .. sto inserendo questo codice in un altro file php nella mia directory del modulo e richiamandolo tramite il file del modulo.Come ottenere l'ID utente corrente di Prestashop?

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

ma non il suo lavoro per me .. sto usando PrestaShop 1.5 ..

+0

Può darci maggiori dettagli? Cosa stai cercando di fare nel tuo file php? Sei di fronte o nel back office? Il tuo file php è chiamato con ajax? Abbiamo bisogno del contesto per capire da dove il problema può venire. – AlexDeb

+0

Ho già ricevuto la risposta AlexDeb – Manik

+1

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

risposta

12

non potevo certo farlo funzionare nel mio test sia. Tuttavia, puoi provare

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

che funziona per me. Non sono affatto sicuro che questo sia il modo migliore per farlo comunque.

+0

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

7

In primo luogo verificare se l'utente è loggato di ottenere l'id da $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

Non si dovrebbe essere utilizzando biscotto.

Basta usare questo:

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

è possibile rimuovere (int), ma mi piace per specificare il tipo di im contenuti ottenere.

BR

+0

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

3

In Prestashop 1.6, il modo migliore in un controllore è quello di utilizzare:

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

Up ha votato per aggiungere la sua linea "in a controller" –