Как я могу решить маршрутизацию в HMVC? - PullRequest
4 голосов
/ 14 марта 2012

Я работаю над проектом cms, который будет использоваться для публикации новостных сайтов. Я использую плагин i18n для многоязычных проблем. проблема в маршрутизации. У меня есть модуль с именем news и метод page в нем, и маршрут установлен как

$route['page/test'] = 'news/page/1';

это работает без проблем, когда я иду на

http://localhost/site/page/test

проблемы начинаются, когда я начинаю использовать плагин локализации i18n. тогда он работает только с этим URL:

http://localhost/site/en/news/page/test

Я хочу, чтобы URL был без сегмента news. Что я могу сделать, чтобы решить эту проблему? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2012

Это будет работать на любом контроллере, с или без языковой строки

$route['^([a-z]{2})/(.*)'] = '$2';
$route['^([a-z]{2})'] = $route['default_controller'];
0 голосов
/ 14 марта 2012

Выглядит нормально, так как он больше не работает с маршрутом, потому что он пропускает "/ en /"

Вы пытались поставить:

$route['en/page/test'] = 'news/page/1';

или

$route['en/page/test'] = 'en/news/page/1';

(я не знаю, плагин i18n)

Если это работает, решение может быть с использованием подстановочного знака:

$route['(:any)/page/test'] = "news/page/1";

или

$route['(:any)/page/test'] = "$1/news/page/1";

(опять же, я не знаю, работает ли плагин i18n)

...