2013-04-26 30 views
6

Tôi đã sử dụng mã bên dưới để cố gắng lấy ID người dùng hiện tại trong prestashop .. đang đặt mã này trong một tệp php khác trong thư mục mô-đun của tôi và gọi nó qua tệp mô-đun.Cách nhận ID người dùng hiện tại Prestashop?

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

nhưng nó không làm việc cho tôi .. đang sử dụng prestashop 1,5 ..

+0

Bạn có thể cho biết thêm chi tiết? Bạn đang cố gắng làm gì trong tệp php của mình? Bạn đang ở văn phòng trước hay sau? Tệp php của bạn có được gọi là ajax không? Chúng ta cần bối cảnh để hiểu được vấn đề có thể đến từ đâu. – AlexDeb

+0

Tôi đã nhận được câu trả lời AlexDeb – Manik

+1

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

Trả lời

12

tôi chắc chắn không thể làm cho nó làm việc trong thử nghiệm của tôi trong hai. Tuy nhiên, bạn có thể thử

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

làm việc cho tôi. Tôi không chắc chắn rằng đây là cách tốt nhất để làm điều đó mặc dù.

+0

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

7

séc đầu tiên nếu người dùng được đăng nhập vào hơn nhận được id của $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

Bạn không nên sử dụng cookie.

Chỉ cần sử dụng này:

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

bạn có thể xóa (int), nhưng tôi thích để xác định loại nội dung im nhận được.

BR của

+0

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

3

Trong Prestashop 1.6, cách tốt nhất trong một bộ điều khiển là sử dụng:

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

Up bình chọn cho thêm dòng của mình "trong một bộ điều khiển" –

Các vấn đề liên quan