有没有办法在不调用的情况下加载视图“页眉”/“页脚”$this->load->view('header')
or $this->load->view('footer')
在每个控制器中?也许是一个可以在每个视图中使用的模板?
以下是一些帮助您入门的简单方法:
创建模板类:
class Template {
function load($view)
{
$CI = &get_instance();
$CI->load->view('header');
$CI->load->view($view);
$CI->load->view('footer');
}
}
在控制器中的用法:
$this->template->load('my_view');
使用主视图文件:
<!-- views/master.php -->
<html>
<header>Your header</header>
<?php $this->load->view($view, $data); ?>
<footer>Your footer</footer>
</html>
在控制器中:
$this->load->view('master', array(
'view' => 'my-view-file',
'data' => $some_data
));
我更喜欢Template
类方法,因为很容易添加方法来附加模板区域、加载 javascript 文件以及您需要的任何其他内容。我还喜欢根据调用的方法自动选择视图文件。像这样的东西:
if ( ! isset($view_file)) {
$view_file = $CI->router->fetch_class().'/'.$CI->router->fetch_method();
}
这将加载views/users/index.php
如果控制器是Users
方法是index
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)