Как установить язык через URL в opencart
Я хотел бы изменить язык через URL, чтобы мой сайт мог появляться на разных языках в поисковых системах.
Например: я бы хотел, чтобы пользователь изменил язык с помощью такой ссылки:
www.mysite.com/lang=ar
Я использую OpenCart 3.0.2
В настоящее время пользователь переходит через меню формы, которое отправляет пост-запрос, поэтому поисковая система не может индексировать другие языки.
Как я могу это сделать?
1 ответ
Я успешно применил эти шаги:
1- открыть каталог / контроллер / автозагрузка / автозагрузка.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_=$1&lng=en [L,QSA]
RewriteRule ^ar/([^?]*) index.php?_route_=$1&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, он переходит на английский язык, и это верно для других языков, и теперь поисковая система может индексировать страницы на других языках.