2014-09-23 18 views
0

CI路由文件中是否有任何方法可以查看視圖是否正在使用移動設備?

如果是的話,將它們旋轉到不同的頁面?

我有兩套控制器一個用於移動設備,另一個用於桌面設備,但我希望網址始終保持不變。

我嘗試添加以下代碼來路由配置文件,但我發現一個錯誤......

我在想這個完全錯誤的?

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

if ($this->agent->is_browser()) 
{ 
     $route['default_controller'] = "index"; 
} elseif ($this->agent->is_mobile()) 
{ 
     $route['default_controller'] = "m/index"; 
} 

我得到的錯誤是未定義的屬性:CI_Router :: $負載

+0

你的if語法似乎是錯誤的,所以首先在其中進行了修正。 – 2014-09-23 13:15:45

回答

1

從檢查CI系統文件,看來該Loader類Router類加載後,所以這 - $ >加載不存在。

退房CI魚鉤,雖然:https://ellislab.com/codeigniter/user-guide/general/hooks.html

此外,您可以嘗試使用head.js(http://headjs.com/),並定義了響應式設計的屏幕寬度。它使您能夠構建網站並根據瀏覽器的寬度更改CSS以更改頁面。除非由於功能而針對移動/桌面,否則屏幕尺寸是我們關心它們的常見原因,對嗎?所以,如果它是屏幕尺寸,我認爲head.js系統是一種可行的方式。然後你只有一個服務器端的代碼庫擔心。