2016-08-30 4 views
1

私はprestashopでマルチストアオプションを使用します。私は2番目の店の顧客を登録後に手動で有効にしたいと思います。マルチストア、手動起動アカウントprestashop

実際には、をauthentication.phpに設定しました。

登録後、両方のウェブサイトに登録されているお客様は、すべて無効です。

$customer->active = 0;を1つのウェブサイトに設定する方法はありますか?

私はshop_idを取得すると思いますが、私の考え方をどのように発展させるのか分かりません。 PrestaShopの1.6

+0

プレスタッション版とは何ですか? – JazZ

答えて

1

あなたはContextオブジェクトとid_shopを得ることができます。あなたはid_shop

if (Context::getContext()->shop->id == 1) { 
    $customer->active = 0; 
} else { 
    $customer->active = 1; 
} 

それがお役に立てば幸いです(id_shop = 1を仮定)を知っている場合は

だから、私はあなたがこのような何かを行うことができると思います。それが追加されるまでCustomerオブジェクトがそれを処理しないので、コンテキストからid_shopを取得するための答えを更新しました

EDIT

Customerクラス(/classes/Customer.php)において

RE-EDIT

add()機能をカスタマイズします。

は、ライン212(「last_passwd_gen」宣言後)の周りにこの行を追加します。

$this->active = ($this->id_shop == 3) ? false : true; 

しかし、あなたのための最善の解決策は、関数のoverrideを作成することです。

+0

私はprestashop 1.6.1.2を使用していますが動作しません データベースからid_shopを知っています コントローラ/フロント/ AuthController.phpに追加しました if(Context :: getContext() - > shop- > id == 3){ $ customer-> active = 0; } else { $ customer-> active = 1; } 登録後も、お客様は両方のウェブサイトでまだアクティブではありません –

+0

ようこそ。私は答えを再編集する。カスタマイズするファイルは 'classes/Customer.php'です。がんばろう。 – JazZ

+0

ありがとう、最後の解決策は正常に動作します:)) –

関連する問題