2014-12-01 46 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