Я сделал многоязыковое приложение для контента.В бэкэнде вы создаете контент и отображаете его на странице внешнего интерфейса.У меня проблема с кнопкой «Назад» (я думаю, это проблема с кешем) после следующих шагов:
- Вы щелкаете ссылку на контент и получаете доступ к представлению контента.
- Втекущий просмотр контента (с текущим языком), вы нажимаете, чтобы переключить язык.
- Он перенаправляет вас на дом с новым языком.
- Когда вы нажимаете кнопку назад, он отправляет вас наprevius content (на языке previus).
Замечание: - Если я очищаю кеш браузера между шагами 2-3, он работает нормально.
Вот код:
В контроллере переключателя языка
$this->lang_array = $this->Language_model->getLangsArray();
if(!isset($this->session->lang)){
if(array_key_exists($this->uri->segment(1), $this->lang_array)){
$this->session->lang = $this->uri->segment(1);
}else{
$this->session->lang = 'es';
}
}
if(isset($this->session->lang)){
if(array_key_exists($this->uri->segment(1), $this->lang_array) && $this->uri->segment(1) != $this->session->lang){
$this->session->lang = $this->uri->segment(1);
}
}
$this->lang->load($this->lang_array[$this->session->lang], $this->lang_array[$this->session->lang]);
Чтобы вернуть представление с контентом, в контроллере содержимого:
$content = $this->db->get_where('contents', array('slug' => $slug), 1)->result();
if(count($content)){
$content = $content[0];
$this->view('content_view', $content));
}else{
return array();
}