0

Привет, форум во время работы с библиотекой CI 2.0.3 и интернационализации (i18n), я столкнулся с этой проблемой. Я читал подобные сообщения здесь, но они не решили мою проблему. Надеюсь, кто-то здесь может указать мне в правильном направлении.CodeIgniter и i18n library

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')?> 

Проблема встречается, при открытии статьи, вар из языковой файл вообще не загружается. http://localhost/ вместо «Блог». Я предполагаю, что это связано с маршрутизацией. Так, если для URL, как/ан/блог я бы:

$route['^(en|de|ru)/(:any)'] = "$2"; 

Все остальные адреса работают отлично и загрузить переменные из файла языка правильно.

Но как я могу обрабатывать URL-адреса, например/en/blog/article/1? Думаю ли я в правильном направлении? Предложения приветствуются.

спасибо.

ответ

0

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

$route['^(en|de|ru)/blog/article/(:any)'] 

Это должно захватить другой язык, но все же маршрутом вам статьи блога через ид.

Смежные вопросы