2014-12-01 99 views
0

我正在寻找解决方案如何加载不改变网站uri的移动设备的不同控制器。例如,我要通过PC去www.site.com,我应该看到网页(默认情况下工作,一切正常)。但现在我通过手机去www.site.com,我希望看到这个网站的移动版本不会改变网址。所以当我通过手机访问www.site.com/article-123时,我想看到移动版本的页面。我正在寻找解决方案,但我没有找到任何东西。我尝试将user_agent库加载到我的路由文件中,但没有发生任何事情(想要更改对移动设备的控制器的调用)。有没有解决方法?Codeigniter为移动设备加载不同的控制器

+0

尝试[tag:responsive-design]为您的网站。 – SaidbakR 2014-12-01 19:52:48

+0

响应式设计不是一个解决方案,因为在移动版本有较少的信息解析到意见 – user3744738 2014-12-02 11:28:50

回答

1

报价OP

“我试图USER_AGENT库加载到我的路线文件,但什么都没有发生”

我不知道你是怎么想一个库添加到routes因为你从来没有向我们展示了,但看到the documentationuser_agent库的正确用法。然后使用url帮手redirect到不同的控制器功能。

$this->load->library('user_agent'); 
$this->load->helper('url'); 

if ($this->agent->is_mobile()) 
{ 
    redirect('/mobile/home/', 'refresh'); // go to 'mobile' controller, 'home()' function 
} 
else 
{ 
    redirect('/desktop/index/', 'refresh'); // go to 'desktop' controller, 'index()' function 
} 
+0

谢谢,但不刷新意味着页面将被刷新?因为这是发生在我身上的事情。页面刷新时不会停止 – user3744738 2014-12-02 12:03:46

+0

@ user3744738,因此请尝试使用“location”而不是“refresh”;但不,'refresh'不应该在不停止的情况下刷新页面......而'redirect'只是应该将您重定向到新页面。这听起来好像你在'routes'文件中有些东西是狡猾的。 – Sparky 2014-12-02 15:19:22