CodeIgniter的语言加载和后退按钮问题

时间:2018-12-03 17:11:11

标签: php codeigniter caching

我为内容制作了一个多语言应用程序。在后端,您可以创建内容,并将其显示在前端页面中。在执行以下步骤后,后退按钮出现了问题(我认为这是缓存问题):

  1. 您单击内容链接并访问内容视图。
  2. 在当前内容视图(使用当前语言)中,单击以 切换语言。
  3. 它将您重定向到使用新语言的家。
  4. 当您按下“后退”按钮时,它会将您发送到上一个内容(在 以前的语言)。

注意事项: -如果我在第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();
    }

0 个答案:

没有答案