0

最近、自分のサイトに Facebook 認証を追加しました。これにより、ユーザーが認証されると、自動的にアドレス ページに移動します。この方法でログインしているユーザーには、通常のチェックアウト/登録プロセス中に私が尋ねた追加の質問 (「私たちのことをどのように知りましたか?」など) は表示されません。

私の質問は、ユーザーが従来の方法で登録した場合と同様に、これらのフィールドを Address フォームに追加して ps_customer テーブルに挿入するにはどうすればよいですか? 今すぐ Address テンプレート/コントローラーにフィールドを追加することもできますが、代わりに ps_address テーブルに保存されることになります。

どんな助けでも大歓迎です、

ありがとう

4

1 に答える 1

0

可能ですが、いくつかの回避策が必要です。

アドレス フォームにフィールドを追加したら、Address.php クラスをオーバーライドする必要があります。以下のようにしてください。

1) override/classesフォルダーで Address.php ファイルを見つけ、classes /Address.phpファイルも開きます。

2) ファイル classes/Address.php ファイルで、以下のような add 関数を見つけます。

 /**
 * @see ObjectModel::add()
 */
public function add($autodate = true, $null_values = false)
{
    if (!parent::add($autodate, $null_values))
        return false;

    if (Validate::isUnsignedId($this->id_customer))
        Customer::resetAddressCache($this->id_customer);
    return true;
}

その正確な関数を override/classess/Address.php ファイルにコピーして、クラスに配置します。

3) 以下のコードの直後

  if (!parent::add($autodate, $null_values))
        return false;

コードを書き留めて、余分なフィールドを別のテーブルに挿入します。POSTされた値を取得し、必要に応じて顧客テーブルまたは他のテーブルに挿入するSQLクエリを獲得したと書いてください。

ありがとうございました

于 2013-03-09T06:33:23.093 に答える