Собственно, сабж. У меня стоит multilang seo, т.е. он добавляет код языка перед index.php. Не все модули это поддерживают, но обычно в случае чего добавляю его с помощью JavaScript. А один модуль загружает модальное окно в iframe, контроллер сам язык не отлавливает и всегда загружает русский, при попытке направить через префикс вообще ничего не загружает. Вот и хочу отдавать контроллеру в качестве аргумента текущий язык (его код), а вот как в контроллере сделать что бы он переключил язык на нужный не знаю ....
Для начала надо получить список языков, соответственно в необходимом view дописываем <script> var langData = []; var langCodes = []; var langNames = {}; langData = <?php echo json_encode($languages)?>; for (var langCode in langData){ langCodes[langData[langCode].language_id] = langCode; langNames[langCode] = langData[langCode].language_id; } </script> Соответственно мы имеем массив языков, языки по коду, языки по аббревиатуре ... --- Добавлено, 18 сен 2013 --- И зачем через контроллер ... не проще ли в качестве урла во вьюхе в iframe указать необходимый с локализацией ? Также если вьюха не выдает текущий язык, можно матчем отловить язык в текущем урле и опять-же подменить урл в iframe на необходимый, тогда верхняя химия в файлах и не надо ...
Так у меня проблема не получить данные текущего языка, а заставить движок переключиться на другой язык. Модуль Callme загружает формочку через iframe. В src указано "index.php?route=module/callme/open". Проблема не единичная, но обычно помогает либо еще в контроллере добавлять к ссылке вначале "ua/", либо это добавлять посредством JS. А тут вот не пролазит. Функция open в контроллере callme прописана корректно $this->language->get.... Т.е. по факту контроллер на момент выполнения думает что текущий язык - русский, когда по факту - украинский
Оу, ну в таком случае надо дебажить контроллер die(var_dump()) вам в помощь ... Скорее всего не правильный язык из контроллера передается в скрипт во вьюхе и неправильно перезагружается ... Но как я выше и написал, можно просто скриптом отлавливать нужный язык и вручную перезагружать iframe ... костыль конечно, но попроще колупни в контроллере будет
Собственно я хочу не доверять контроллеру самоопределять язык, т.к. он это делает не верно, а передавать на module/callme/open код языка в качестве параметра. А вот как уже в самой функции переключить язык на переданный не знаю.