直接链接到OpenCart中的语言
我有一个网站(用OpenCart构建),有多种语言,如英语、德语、法语。 用户可以使用OpenCart的默认功能更改语言-单击顶部的语言图标 是否可以从以下位置自动发送用户(这样他们就不必点击标志): 德国到德国版本的网站 法国到法国版本的网站 (默认为英语) 例如,如果默认页面为,是否有可以用于这些语言的URL?直接链接到OpenCart中的语言,opencart,multilingual,Opencart,Multilingual,我有一个网站(用OpenCart构建),有多种语言,如英语、德语、法语。 用户可以使用OpenCart的默认功能更改语言-单击顶部的语言图标 是否可以从以下位置自动发送用户(这样他们就不必点击标志): 德国到德国版本的网站 法国到法国版本的网站 (默认为英语) 例如,如果默认页面为,是否有可以用于这些语言的URL? (我注意到,当我点击语言图标时,URL没有改变——所有语言都是一样的)我认为语言是在会话变量中设置的 对于您提到的功能,将通过以下方式实现: 使用HTML5地理位置来检测用户的位置
(我注意到,当我点击语言图标时,URL没有改变——所有语言都是一样的)我认为语言是在会话变量中设置的 对于您提到的功能,将通过以下方式实现:
我认为语言是在会话变量中设置的 对于您提到的功能,将通过以下方式实现:
现在opencart不支持此功能,但在过去,opencart的旧版本确实有此功能 如果要在网站中包含此功能,必须执行以下操作: 编辑此文件: catalog/controller/module/language.php 找到这个:
class ControllerModuleLanguage extends Controller {
protected function index() {
if (isset($this->request->post['language_code'])) {
在“如果”之前,您必须包括以下内容:
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 {
具有此代码的网站示例:
这个网站有8个习惯用法,你可以通过不同的url访问,使用变量“lang”&lang=es&lang=en&lang=de&lang=ru现在opencart不支持此功能,但在过去,opencart的旧版本确实有此功能 如果要在网站中包含此功能,必须执行以下操作: 编辑此文件: catalog/controller/module/language.php 找到这个:
class ControllerModuleLanguage extends Controller {
protected function index() {
if (isset($this->request->post['language_code'])) {
在“如果”之前,您必须包括以下内容:
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 {
具有此代码的网站示例:
这个网站有8个习惯用法,你可以通过不同的url访问,使用变量“lang”&lang=es&lang=en&lang=de&lang=ru使用OpenCart 2.0,您必须处理index.php文件(在您的网站根目录中)并放置以下代码:
if (isset($request->get['lang']) && array_key_exists($request->get['lang'], $languages)) {
$session->data['language'] = $request->get['lang'];
}
在第155行和第157行之间
第153至154行:
foreach ($query->rows as $result) {
$languages[$result['code']] = $result;
}
(您在此处添加新代码)
第157行:
if(isset($session->data['language')和&array_key_存在($session->data['language',$languages)){
第158行:
$code = $session->data['language'];
使用OpenCart 2.0,您必须处理index.php文件(在您的网站根目录中),并放置以下代码:
if (isset($request->get['lang']) && array_key_exists($request->get['lang'], $languages)) {
$session->data['language'] = $request->get['lang'];
}
在第155行和第157行之间
第153至154行:
foreach ($query->rows as $result) {
$languages[$result['code']] = $result;
}
(您在此处添加新代码)
第157行:
if(isset($session->data['language')和&array_key_存在($session->data['language',$languages)){
第158行:
$code = $session->data['language'];
我发现至少有一个这样做,但我对OpenCart专家的答案感兴趣。我发现至少有一个这样做,但我对OpenCart专家的答案感兴趣。