如何在Codeigniter中缓存相同URL的普通和移动视图?

时间:2014-08-25 09:39:36

标签: codeigniter caching mobile url-routing

我正在检查用户是在移动设备或桌面上浏览,并根据我调用给定网址的normal_view或同一网址的mobile_view。所以URL和控制器功能是一样的,只是视图不同(移动或桌面)。 我使用Codeigniter内置输出缓存,但如果第一个用户将打开页面,加载normal_view,它将其放入输出缓存,直到缓存过期,无论用户是从哪个浏览,都只加载该视图移动或PC。

如何在不为移动版和桌面版制作不同网址的情况下解决此问题?有什么方法可以单独缓存视图吗?

1 个答案:

答案 0 :(得分:0)

通过在Codeigniter中使用用户代理类库,我们可以实现这样的

例如:

 $this->load->library('user_agent');
    if ($this->agent->is_mobile('iphone'))
    {
        $this->load->view('iphone/home');  //iphone view page
    }
    else if ($this->agent->is_mobile())
    {
        $this->load->view('mobile/home'); //mobile view page
    }
    else
    {
        $this->load->view('web/home'); // web page view
    }

注意:我的建议是你可以使用任何CSS框架工作,如Bootstrap 无需为移动视图开发单独的视图。它可以根据设备大小进行处理

http://getbootstrap.com

Bootstrap easily and efficiently scales your websites and applications with a single code base, from phones to tablets to desktops with CSS media queries.