CI3.0中关于视图嵌套传值的问题,求指点
本帖最后由 minuo 于 2015-9-30 16:07 编辑问题描述:
1.我的视图结构:
----views/
-----------note/
----------------header.php
----------------index.php
----------------footer.php
2.需求描述:我希望在控制器中仅使用$this->load->view('index', $data); 来实现视图变量的赋值。
3.我的尝试:使用include(); require_once();可以实现,假如我想使用调用函数的形式来实现应该如何处理?
代码如下:
控制器note:
<?php
class Note extends CI_Controller{
function index(){
$data['title'] = 'Test Title';
$data['body'] = 'Test Body';
$this->load-view('index', $data);
}
}
?>
(头部header.php)
<head>
<title><?php echo $title;?></title>
</head>
(首页index.php)
<html>
<?php get_header(); //使用include(); require_once(); 来包含文件的话可以实现 ?>
<body>
<p><?php echo $body;?></p>
</body>
</html>
假如我在helper文件夹下的Common_helper.php文件中有类似下面的这样一个函数,为什么头部模板中的$title无法正常获得值呢?
<?php
function get_header() {
require_once( VIEWPATH . 'note/header.php');
}
?>
使用这样的方法header.php中的$title无法获得传值。
如果这样使用也是OK的,只是想试试其他的方法。
<html>
<?php $this->view->load('note/header.php') ?>
<body>
<p><?php echo $body;?></p>
</body>
</html>
本帖最后由 v阿杰 于 2015-9-30 17:49 编辑
核心文件中class CI_Loader有个属性:
protected $_ci_view_paths = array(VIEWPATH => TRUE);
请自己扩展下核心类文件即可,(换肤功能)
v阿杰 发表于 2015-9-30 17:36
核心文件中class CI_Loader有个属性:
感谢,CI小白一个,先看看。
页:
[1]