首页 > 代码库 > CI控制器调用内部方法并载入相应模板的做法
CI控制器调用内部方法并载入相应模板的做法
当我打开链接:http://localhost/3g/index/open/a/b?from=timeline后,判断链接中的from是否等于timeline,如果等于timeline,那么就调用控制器内部的timeline方法,并载入timeline.php这个模板。
class Index extends CI_Controller { function __construct() { parent::__construct(); } public function open($a=0,$b=0) { if ($_GET['from'] == 'timeline') { $this -> timeline($a); die; } else { $data['b'] = $b; $this -> load -> view('3g/index/open',$data); } } public function timeline($a=0) { $data['a'] = $a; $this -> load -> view('3g/index/timeline',$data); } }此时输出的页面一片空白,并没有载入timeline.php这个模板,正确的做法是:
class Index extends CI_Controller { function __construct() { parent::__construct(); } public function open($a=0,$b=0) { if ($_GET['from'] == 'timeline') { $this -> timeline($a); die; } else { $data['b'] = $b; $this -> load -> view('3g/index/open',$data); } } public function timeline($a=0) { $data['a'] = $a; echo $this -> load -> view('3g/index/timeline',$data,true);die; } }
获取视图内容
view函数第三个可选参数可以改变函数的行为,让数据作为字符串返回而不是发送到浏览器。如果想用其它方式对数据进一步处理,这样做很有用。如果将view第三个参数设置为true(布尔)则函数返回数据。view函数缺省行为是 false, 将数据发送到浏览器。如果想返回数据,记得将它赋到一个变量中:
$string = $this->load->view(‘myfile‘, ‘‘, true);
例子:有些情况下,你并不想直接输出视图,而是仅仅想得到视图的内容以备后用。那么可以参考如下代码。
view方法中的第三个参数表示不输出视图,而只是将结果返回给一个变量。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。