【问题标题】:How to load a View based on multiple conditions in Controller (Codeigniter)如何在Controller(Codeigniter)中基于多个条件加载视图
【发布时间】:2015-06-09 05:18:17
【问题描述】:

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

例如:
如果“user_agent”检测到移动设备 -> 加载 mobile_view
其他加载-> web_view
如果“站点”设置被禁用 [value = 0] load -> 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;
  }

对于网站设置条件,我已经从这里扩展了我的旧代码 How to load a view based on condition in Controller (Codeigniter)

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

根据条件,如果站点 "value == 1" 则在控制器中加载 web 或索引视图,否则如果站点 "value == null" 加载维护视图


现在我正在尝试添加移动视图,但我无法弄清楚如何使用其余代码。

【问题讨论】:

  • 使用 switch case 语句
  • 我是 codeigniter 的新手,我不知道怎么做。请举个例子@soul
  • 如果“站点”设置被禁用 [value = 0] load -> maintenance_view if(site == 0){ $this -> load->view(maintenance_view);}
  • 你试过用switch case吗?

标签: php codeigniter


【解决方案1】:
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();
            }
          }
         }

【讨论】:

  • 很好,我会试试的。谢谢@soul。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多