ここでの問題はもう少し複雑です。ユーザーが登録しているサイトをキャッチする必要があります。
phpMyAdmin (または目的の DB 管理ツール) を開き、新しい列 (例: など) を追加してテーブルを編集しcustomer
ます。レジスターのサイトをこの新しい列に保存します。register_site
VARCHAR(20)
これは、ストアが使用しているテンプレートに<input type="hidden" name="register_site" value="sports" />
またはをそれぞれ追加することを意味します。<input type="hidden" name="register_site" value="watches" />
次の 2 つのテンプレート ファイルを編集します。
/catalog/view/theme/<THEME>/template/account/register.tpl
/catalog/view/theme/<THEME>/template/checkout/register.tpl
ここで、前述の非表示の入力(ストアごとに 1 つの adequote のみ<THEME>
、実際のテーマ名に切り替えます) とこのモデル ファイルを追加します。
/catalog/model/account/customer.php
addCustomer
ここで、新しい coulmn-value ペアを SQL に追加してメソッドを編集するinsert
必要があります (14 行目):
$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW(), register_site = '" . $this->db->escape($data['register_site']) . "'");
^^^^^^^^^^^^^ --------- THIS IS NEWLY ADDED ---------- ^^^^^^^^^^^^^^
(行末を確認してください...)。
管理画面で、ログインした顧客配列の新しいregister_site
プロパティ/インデックスを確認し、それに応じてサイトを動作させることができます (これは簡単なはずです...)。