【发布时间】: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