CodeIgniter - UserAgent

时间:2013-05-30 13:50:03

标签: codeigniter user-agent

我有以下代码来检查用户是否来自移动设备,如果他们是我想要加载不同的页面但它似乎没有工作......

任何人都可以对以下内容有所了解:

if($xmlRefresh==1) {
   $viewData['content'] = $this->load->view('newquote/policy_xml', $viewData); 
   $this->load->view('layout', $viewData);

   } elseif ($this->agent->is_mobile()) {

      $this->_showPage("newquote/policy_mobile", 'Customise', $viewData); 

   } else {

      $this->_showPage("newquote/policy", 'Customise', $viewData); 

   }

我一直收到内部服务器错误,任何人都可以发现问题......

3 个答案:

答案 0 :(得分:0)

除非您添加第三个参数,否则请查看system/core/Loader.phpfunction view()$this->load->view返回void。试试:

$viewData2['content'] = $this->load->view('newquote/policy_xml', $viewData1, TRUE);

 '''
 $this->_showPage("newquote/policy_mobile", 'Customise', $viewData2);

注意:$viewData2$viewData1

不同

答案 1 :(得分:0)

你在控制器中调用它吗?

什么是500(内部服务器)错误?

您是否加载了库user_agent ??

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


  if($xmlRefresh==1) {
   $viewData['content'] = $this->load->view('newquote/policy_xml', $viewData); 
   $this->load->view('layout', $viewData);

   } elseif ($this->agent->is_mobile()) {

      $this->_showPage("newquote/policy_mobile", 'Customise', $viewData); 

   } else {

      $this->_showPage("newquote/policy", 'Customise', $viewData); 

   }

最后,如果您想要提供移动页面,请在执行查看之前使用post post or pre hooks确定用户代理(如果您想玩游戏)

答案 2 :(得分:0)

我有一个想法,可能会帮助你

你可以将redirect()/ $ this-> load-> view()替换为$ this-> _showPage(“newquote / policy_mobile”,“Customize”,$ viewData);