如何根据用户在opencart管理部分添加翻译?

时间:2013-04-23 08:01:57

标签: php opencart shopping-cart

我正在使用opencart 1.5.5.1版。我们有一个使用opencart框架编码的网站。该网站还使用opencart多商店功能。我根据How to use separate language files for opencart multi stores?中给出的商店添加了语言标签的翻译。

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

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

请帮帮我。提前谢谢!

1 个答案:

答案 0 :(得分:2)

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

打开您的phpMyAdmin(或您想要的数据库管理工具)并通过添加新列来编辑customer表格,例如例如register_site类型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

您可以在其中添加提及的隐藏输入(每个商店只有一个,适用于真实主题名称的<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属性/索引,并使网站的行为相应(现在应该很简单......)。