CodeIgniter Url Rewrite (зависит от языка) - PullRequest
0 голосов
/ 25 января 2011

Итак, у меня есть .htaccess, мои контроллеры, все идет хорошо.Я добавил локализацию, так что теперь у меня есть португальский (по умолчанию), английский и итальянский.
Я использую файлы _lang в каталоге appplication / languages, я использую session-> userdata ('lang'), и все работает нормально.Мои контроллеры названы с португальскими словами, после главного меню.То, что я ищу, это:
переписать мой URL, изменив имя контроллера, в зависимости от сессии-> userdata ('lang').
Возможно ли это вообще?как?

Спасибо

Итак, я пытаюсь, как предложил InFog, в файле маршрутов:

if ($this->session->userdata('lang') == 'english') { 
    $route['novidades/([a-z]+)'] = 'news/$1'; 
}

, но я просто получаю пустой экран при открытии приложения.
И я попробовал это без предложения if, и ничего не происходит, когда я перехожу к

http://localhost/myapp/novidades

URL остается прежним

Ответы [ 2 ]

1 голос
/ 25 января 2011

Вы можете решить эту проблему, используя CodeIgniter Routes.Вы можете сделать это, отредактировав файл 'system / application / config / rout.php:

$route['news/([a-z]+)'] = 'noticias/$1';

Таким образом, URL, такой как' / news / run-fools ', будет преобразован в' noticias / run-fools».Теперь вы можете иметь только один контроллер =)

Удачи

1 голос
/ 25 января 2011

Переопределите CI_Router для перевода имени в методе fetch_class () для изменения контроллеров. Переопределите fetch_method (), чтобы изменить методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...