Hello Forum, при работе с CI 2.0.3 и библиотекой интернационализации (i18n) я столкнулся с этой проблемой.Я читал подобные посты здесь, но они не решили мою проблему.Надеюсь, что кто-то здесь может указать мне правильное направление.
Routes.php:
$route['default_controller'] = "home";
$route['404_override'] = '';
$route['scaffolding_trigger'] = "";
// '/en', '/de', '/ru' URIs -> use default controller
$route['^(en|de|ru)$'] = $route['default_controller'];
// URI like '/en/about' -> use controller 'about'
$route['^(en|de|ru)/(:any)'] = "$2";
Это прекрасно работает, но у меня есть область под названием «блог», внутри блога CI_Controllerфункция, которая берет статью из базы данных:
public function article()
{
$this->db->where('id', $this->uri->segment(4));
$data['query']= $this->db->get('blogentries');
$this->load->view('article_view',$data);
}
Замечательно, работает также.Результатом является URL, например / en / blog / article / 1.В языковых файлах мои переменные сохраняются следующим образом:
$lang['menu.blog'] = "Blog";
В виде блога загружается переменная $ lang:
<?=lang('menu.blog')?>
Проблема возникает при открытии статьи,var из языкового файла вообще не загружается.http://localhost/ вместо «Блог».Я думаю, это связано с маршрутизацией.Так что если для URL-адреса, например / en / blog, у меня будет:
$route['^(en|de|ru)/(:any)'] = "$2";
Все остальные URL-адреса работают отлично и корректно загружают переменные из языкового файла.
Но как я могу обрабатывать URL-адреса?как / en / blog / article / 1?Думаю ли я в правильном направлении?Предложения приветствуются.
Спасибо.