如何在opencart中通过url设置语言
How to set language through url in opencart
我想通过 url 更改语言,这样我的网站就可以在搜索引擎中以不同的语言出现。
例如:我希望用户通过这样的 link 更改语言:
www.mysite.com/lang=ar
我正在使用 opencart 3.0.2
目前用户通过提交 post 请求的表单菜单进行更改,因此搜索引擎无法索引其他语言。
我该怎么做?
我成功应用了这些步骤:
1- 打开 catalog/controller/startup/startup.php
行后:
$languages = $this->model_localisation_language->getLanguages();
添加以下代码:
if(isset($this->request->get['lng'])){
$this->session->data['language'] = $this->request->get['lng'];
}
2- 将以下行添加到 .htaccess 文件中:
RewriteRule ^en/([^?]*) index.php?_route_=&lng=en [L,QSA]
RewriteRule ^ar/([^?]*) index.php?_route_=&lng=ar [L,QSA]
3- 向模板文件添加了语言标志:
<div class="languageFlags">
{% for language in languages %}
<a href="/{{ language['code'] }}">
<img src="catalog/language/{{ language['code'] }}/{{ language['code'] }}.png" alt="{{ language['name'] }}" title="{{ language['name'] }}" />
</a>
{% endfor %}
</div>
现在,当我导航到 www.mysite。com/en 时,它将转到英语,其他语言也是如此,现在搜索引擎可以索引其他语言的页面。
我想通过 url 更改语言,这样我的网站就可以在搜索引擎中以不同的语言出现。
例如:我希望用户通过这样的 link 更改语言:
www.mysite.com/lang=ar
我正在使用 opencart 3.0.2
目前用户通过提交 post 请求的表单菜单进行更改,因此搜索引擎无法索引其他语言。
我该怎么做?
我成功应用了这些步骤:
1- 打开 catalog/controller/startup/startup.php
行后:
$languages = $this->model_localisation_language->getLanguages();
添加以下代码:
if(isset($this->request->get['lng'])){
$this->session->data['language'] = $this->request->get['lng'];
}
2- 将以下行添加到 .htaccess 文件中:
RewriteRule ^en/([^?]*) index.php?_route_=&lng=en [L,QSA]
RewriteRule ^ar/([^?]*) index.php?_route_=&lng=ar [L,QSA]
3- 向模板文件添加了语言标志:
<div class="languageFlags">
{% for language in languages %}
<a href="/{{ language['code'] }}">
<img src="catalog/language/{{ language['code'] }}/{{ language['code'] }}.png" alt="{{ language['name'] }}" title="{{ language['name'] }}" />
</a>
{% endfor %}
</div>
现在,当我导航到 www.mysite。com/en 时,它将转到英语,其他语言也是如此,现在搜索引擎可以索引其他语言的页面。