2014-01-13 42 views
0

我做了一个网站,但在一个正常的用户,一个面向移动用户提供了两个版本,并为这两个我做了视图页,并且还使用多语言的选择,我首先加入控制器笨 - 控制器负载多视图

public function index() 
    { 
     if ($this->input->get("lang") =="en") 
      $this->load->view('en_signup'); 
     else 
      $this->load->view('ar_signup'); 
     $this->load->helper('url'); 
    } 
} 

我现在用的marabic.phpmenglish.php为移动用户名的网页首先我还需要加载这些网页,但与原来的/默认视图页面搭配,因为我已经提到在默认视图页面的java CRIPT当其检测到移动用户它重定向到m.domainname.com现在我想弄清楚这个问题,请建议。

+0

这意味着如果你的语言是英语,你需要加载'en_signup.php'网站和'menglish.php'如果移动用户,同为arabic.right? – user2936213

+0

是的你是对的,现在什么控制器默认打开阿拉伯语形式的阿拉伯文okey形式我提到英语的主播,所以如果任何人需要英语点击和去英语,现在我做了同一个网站的移动版本,所以我需要来控制两个视图,即使我使用java脚本进行默认视图中的移动检测当url打开时,它会检查用户是否从移动设备重定向它。 当我用来加载视图,所以它混合移动和普通视图。 – FormaL

+0

查看下面的答案。 – user2936213

回答

1

试试这个:

public function index() 
{ 
    $this->load->library('user_agent'); 
    $this->load->helper('url'); 
    if ($this->input->get("lang") =="en"){ 
     if ($this->agent->is_mobile()) { 
      $this->load->view('menglish'); 
     } else { 
      $this->load->view('en_signup'); 
     } 
    } else { 
     if ($this->agent->is_mobile()) { 
      $this->load->view('marabic'); 
     } else { 
      $this->load->view('ar_signup'); 
     } 
    } 
} 
+0

三江源天才要比!〜 – FormaL

+0

你最欢迎:) – user2936213

+0

[链接](http://pastebin.com/6h6BUxT0)请检查user.php的控制器,因为在这里我解决上面一样感谢 – FormaL

1

如果用户从移动设备使用CodeIgniter的User Agent库访问您可以检测。

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

if ($this->agent->is_mobile()) { 
// Load mobile view 
} 
+0

'公共功能指数() \t { \t \t如果($这个 - >输入 - >获得( “郎”)== “恩”) \t \t \t $这个 - >负载>视图( 'en_signup' ); \t \t else $ this-> load-> view('ar_signup'); \t \t \t $ this-> load-> library('user_agent'); \t \t如果($这个 - >代理 - > IS_MOBILE()){ \t \t如果($这个 - >输入 - >获得( “语言”)== “英语”) \t \t \t $这个 - >负荷 - >视图( 'menglish'); \t \t else $ this-> load-> view('marabic'); \t \t \t \t} \t $ this-> load-> helper('url'); \t} }' 其正确的? – FormaL

+0

你不需要我为你写代码,当然?你需要在你的if/else语句中使用花括号。 – mcryan

+0

当我加载视图只适用于移动它混合索引视图页面和移动视图两个视图混合它我怎么理清 – FormaL