如何在Controller(Codeigniter)中基于多个条件加载视图 [英] How to load a View based on multiple conditions in Controller (Codeigniter)

查看:59
本文介绍了如何在Controller(Codeigniter)中基于多个条件加载视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Codeigniter的新手。我正在尝试制作一个具有三(3)个条件视图的简单网站。

I'm new to codeigniter. I'm trying to make a simple site, with three (3) conditional views.

例如:

如果 user_agent检测到移动设备->加载mobile_view

否则加载-> web_view

,如果禁用了站点设置[值= 0]加载-> maintenance_view

For example:
If "user_agent" detects mobile device -> load mobile_view
else load -> web_view
and if "site" settings is disabled [value = 0] load -> maintenance_view



以下代码,但不起作用。始终会加载维护视图。


I have the following code but doesn't work. It always load the maintenance view.

控制器:

function index() {
        $this->load->library('user_agent');
        if($this->agent->is_mobile())
        {
            $this->load_mobile();   
        } else {
            $this->load_web();
        }
    }

    public function load_web() {
       $site = $this->Datamodel->getsetting();
       if(isset($site) && $site==1) { //check if site settings is enabled [(if site "value == 1" load -> web_view) ELSE (site "value == null" load -> maintenace_view)]
            $this->load->view('web_view');
        } else {
            $this->load->view('maintenance_view');
        }
    }

    public function load_mobile() {
        $this->load->view('mobile_view');
    } 



模型网站设置:

 function getsetting() {
    $this->db->select("site");
    $this->db->from('configuration');
    $query = $this->db->get();
    $ret = $query->row();
    return $ret->site;
  }

对于网站设置条件,我从这里扩展了我的旧代码 如何加载基于控制器(Codeigniter)中的条件

如果启用了站点,则先前的代码只有2个条件 [站点值== 1 ] 或不 [站点值==空]

The previous code only have 2 conditions if site is enabled [site value == 1] or not [site value == null]

根据条件,如果站点值==,则将Web或索引视图加载到控制器中1,否则,如果网站值== null加载维护视图

Depending on conditions, web or index view is loaded in controller if site "value == 1" otherwise if site "value == null" load the maintenace view


现在我正在尝试添加移动视图,但我无法找到它

推荐答案

function index() {
if(site_value == 0){
 $this->load->view('maintenance_view');
      }else{
            $this->load->library('user_agent');
            if($this->agent->is_mobile())
            {
                $this->load_mobile();   
            } else {
                $this->load_web();
            }
          }
         }

这篇关于如何在Controller(Codeigniter)中基于多个条件加载视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆