我有一个网站(使用OpenCart构建),有多种语言,例如英语,德语,法语。 用户可以使用OpenCart的默认功能更改语言 - 单击顶部的语言图标。
是否可以自动发送用户(因此他们不必点击标志): 德国到德国版的网站 法国到法国版的网站 (默认为英语)
如果默认页面是http://mystore.com,我是否可以使用这些语言的网址? (我注意到当我点击语言图标时,URL没有变化 - 所有语言都是一样的)
答案 0 :(得分:0)
我认为语言是在会话变量中设置的
您提到的功能将以下列方式实现:
答案 1 :(得分:0)
现在opencart不支持此功能,但在过去,旧版本的Opencart确实具有此功能。
如果您想在自己的网站中加入此功能,则必须执行以下操作:
编辑此文件: 目录/控制器/模块/ language.php
找到这个:
class ControllerModuleLanguage extends Controller {
protected function index() {
if (isset($this->request->post['language_code'])) {
在“if”之前,您必须包含以下内容:
if (isset($this->request->get['lang'])) {
$this->session->data['language'] = $this->request->get['lang'];
if (isset($_SERVER['HTTP_REFERER']) && (strpos($_SERVER['HTTP_REFERER'], $this->config->get('config_url')) !== false) ) {
$this->redirect($_SERVER['HTTP_REFERER']);
} else {
$this->redirect($this->url->link('common/home'));
}
} else {
使用此代码的网站示例:
http://incomingtospain.com/madrid&lang=de
http://incomingtospain.com/madrid&lang=ru
这个网站有8个成语,你可以通过不同的网址访问,这个变量“lang”& lang = es& lang = en ...& lang = de& lang = ru
答案 2 :(得分:-1)
使用OpenCart 2.0,您必须处理文件index.php(在您的网站根目录中)并放置此代码:
None
第155行和第157行之间的
第153至154行:
if (isset($request->get['lang']) && array_key_exists($request->get['lang'], $languages)) {
$session->data['language'] = $request->get['lang'];
}
(你在这里添加新代码)
第157行:
foreach ($query->rows as $result) {
$languages[$result['code']] = $result;
}
第158行:
if (isset($session->data['language']) && array_key_exists($session->data['language'], $languages)) {