1

我正在使用 opencart 版本 1.5.5.1。我们有一个使用 opencart 框架编码的网站。该站点还使用 opencart 多商店功能。我已经根据如何为 opencart 多商店使用单独的语言文件中给出的商店添加了语言标签的翻译?.

现在的问题是,是否可以在管理员端为不同的用户使用不同的语言标签,具体取决于他们创建用户帐户的商店。例如:一个用户从与运动项目相关的商店创建用户帐户,而另一用户从与手表相关的商店创建用户帐户。因此,当“运动”用户登录(管理员端)时,我们需要显示与运动项目相关的语言标签,而当“手表”用户登录(管理员端)时,我们需要显示与手表相关的语言标签。

注意:新用户不是超级管理员。

请帮我。提前致谢!

4

1 回答 1

2

这里的问题有点复杂——你必须抓住用户注册的网站。

打开您的 phpMyAdmin(或您想要的数据库管理工具)并customer通过添加一个新列来编辑表格,例如register_site类型为 eg VARCHAR(20)。您可以将寄存器所在的站点保存到此新列中。

这意味着分别向商店正在使用的模板添加<input type="hidden" name="register_site" value="sports" />或。<input type="hidden" name="register_site" value="watches" />您将编辑两个模板文件:

  • /catalog/view/theme/<THEME>/template/account/register.tpl
  • /catalog/view/theme/<THEME>/template/checkout/register.tpl

您在其中添加提到的隐藏输入(每个商店只有一个 adequote,切换<THEME>为真实主题名称)和此模型文件:

  • /catalog/model/account/customer.php

您必须addCustomer通过在 SQL 中添加一个新的 coulmn-value 对来编辑该方法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登录的客户数组中的新属性/索引,并使站点相应地运行(这现在应该很简单......)。

于 2013-04-23T08:54:45.180 回答