以下のコードを使用して、prestashop で現在のユーザー ID を取得しようとしました。このコードをモジュール ディレクトリ内の別の php ファイルに配置し、モジュール ファイルから呼び出します。
$id = $this->context->customer->id_customer;
しかし、それは私にとってはうまくいきません.. prestashop 1.5を使用しています..
以下のコードを使用して、prestashop で現在のユーザー ID を取得しようとしました。このコードをモジュール ディレクトリ内の別の php ファイルに配置し、モジュール ファイルから呼び出します。
$id = $this->context->customer->id_customer;
しかし、それは私にとってはうまくいきません.. prestashop 1.5を使用しています..
私は確かに私のテストでもそれを動作させることができませんでした。ただし、試すことができます
$id = (int)$this->context->cookie->id_customer;
これは私のために働きます。ただし、これが最善の方法であるかどうかはまったくわかりません。
最初に、ユーザーがログインしているかどうかを確認してから、ID を取得します$this->context->customer->id_customer
if ($this->context->customer->isLogged()) {
echo $this->context->customer->id_customer;
}
else{
echo 'Not LoggedIn';
}
Prestashop 1.6 では、コントローラーでの最善の方法は、次を使用することです。
$id_customer = null;
if ($this->context->customer->isLogged()) {
// code to execute if i am logued
$id_customer = $this->context->customer->id;
}
Cookie を使用しないでください。
これを使用するだけです:
$id=(int)$this->context->customer->id;
(int)を削除できますが、取得するコンテンツのタイプを指定するのが好きです。
BRの