Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Переключение языка на сайте

11.11.2014, 17:51
Блохин Илья Сергеевич
Илья Блохин

Зарегистрирован:
2014-07-23
Сообщений: 5

Здравствуйте!

Пытаюсь реализовать переключатель языка на сайте.
Есть сайт xxx.xx

У него есть 1 дефолтный (ua) и два дополнительных языка en и ru.
Многоязычность организована подкаталогами.

Необходимо, чтобы на любой внутренней ссылке был переключатель, который при переходе, к примеру, на en версию добавлял "/en" в нужное место адреса ссылки.

xxx.xx/about/ -> xxx.xx/en/adout/

Для этого был написан следующий код:

".opt($parent_sub_tree[$sub_level_count-1][Subdivision_ID]==156, "<a href='".str_replace('/en', '', $_SERVER[REQUEST_URI])."'>ua</a> / <a href='".str_replace('/en', '/ru', $_SERVER[REQUEST_URI])."'>ru</a>" )."
".opt($parent_sub_tree[$sub_level_count-1][Subdivision_ID]==155, "<a href='".str_replace('/ru', '', $_SERVER[REQUEST_URI])."'>ua</a> / <a href='".str_replace('/ru', '/en', $_SERVER[REQUEST_URI])."'>en</a>")."
".opt(!strpos($HTTP_HOST.$REQUEST_URI,"/ru/") && !strpos($HTTP_HOST.$REQUEST_URI,"/en/"), "<a href='/en".$SERVER['REQUEST_URI']."'>en</a> / <a href='/ru".$SERVER['REQUEST_URI']."'>ru</a>")."

где 156 и 155 - id разделов /en/ и /ru/.

Однако в результате на любой внутренней странице ссылка адресует в корневой каталог языка:

xxx.xx/about/ -> xxx.xx/en/

Словно в коде $SERVER['REQUEST_URI'] игнорируется.

Кто-нибудь знает, в чем кроется причина недоработки?

Заранее благодарен, Илья

Илья
198 196 13900
Описание проекта