CodeIgniter模板引擎使用实例 |
本文标签:CodeIgniter,模板引擎 一、示例: 通常在使用codeigniter的时候经常使用这样的方式载入: $this->load->view(about, $data); 通过这个类库,可以将一个视图载入到这个模板中: $this->template->load(template, about, $data); 这里将视图about.php载入到template模板文件中 。 二、安装 下载ci_template_library.zip 三、创建一个模板文件application/views/template.php <html> <body> <div id="contents"><?= $contents ?></div> <div id="footer">Copyright 2008</div> </body> </html> $contents是你在控制器中显示需要插入的内容 。 四、创建一个视图application/views/about.php <h1>About</h1> <p>Im so human!</p> 在模板引擎中载入视图 $this->template->load(template, about); 这个模板引擎工作流程: 视图被载入到一个变量中,这个变量会被载入到模板中去 var $template_data = array(); function set($name, $value) { $this->template_data[$name] = $value; } function load($template = , $view = , $view_data = array(), $return = FALSE) { $this->CI =& get_instance(); $this->set(contents, $this->CI->load->view($view, $view_data, TRUE)); return $this->CI->load->view($template, $this->template_data, $return); } 五、技巧总结: 高级技巧1:模板中更简单的短标记 例子:你如果需要在页面中显示标题 。 <head> <title><?= $title ?></title> </head> 然后直接在控制器中设置: $this->template->set(title, About me); 高级技巧2:高亮显示当前导航 导航通常是被用于在模板中,一个体验好的导航应该告诉用户当前所处的位置分类是什么 。 定义你的导航项目: 引入application/libraries/Template.php,然后在控制器中增加: $this->set(nav_list, array(Home, Photos, About, Contact)); 更新你的模板: 在application/views/template.php中增加: <ul class="navigation"> <?php foreach($nav_list as $i => $nav_item): ?> <li class="<?= ($nav == $nav_item ? selected : )?>"> <?= anchor($nav_item, $nav_item) ?> </li> <?php endforeach ?> </ul> 这里用到了anchor函数,需要在自动加载配置中增加相关的小助手: $autoload[helper] = array(url); 更新你的控制器: 增加: $this->template->set(nav, About); 需要注意: 高级技巧3:多模板 最简单处理多个模板,可以在libraries/Template.php定义多个新的方法来替换已经存在的内容,第二个高级技巧使用自定义的方法: function load_main($view = , $view_data = array(), $return = FALSE) { $this->set(nav_list, array(Home, Photos, About, Contact)); $this->load(template, $view, $view_data, $return); } 将代码粘贴到控制器中 $this->template->set(nav, About); $this->template->set(title, About me); $this->template->load_main(about); |