Kohana模板是个很好用的东西,他可以使你的界面统一化。而且便于资源管理。

我建立了几个文件,他们的路径是

其中 demo.php是模板控制器。

代码如下:

<?php defined('SYSPATH') or die('No direct script access.');class Controller_Demo extends Controller_Template {public $template = 'demo/template';/*** before()方法在你的控制器动作执行前被调用* 在我们的模板控制器中,我们覆盖了这个方法,那么我们就能设置默认值。* 那么这些变量需要改变的时候我们的控制器也能使用它们*/public function before(){parent::before();if ($this->auto_render){// Initialize empty values$this->template->title   = 'gobang';$this->template->content = '赞无内容';$this->template->styles = array();$this->template->scripts = array();}}/*** after()方法在控制器动作执行后调用* 在我们的模板控制器中,我们覆写了这个方法,那么我们就能* 在模板显示之前做最后的一些改变*/public function after(){if ($this->auto_render){$styles = array('media/css/screen.css' => 'screen, projection','media/css/print.css' => 'print','media/css/style.css' => 'screen',);$scripts = array('http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js','media/jquery/jquery-1.9.1.js',);$this->template->styles = array_merge( $this->template->styles, $styles );$this->template->scripts = array_merge( $this->template->scripts, $scripts );}parent::after();}}

template.php

<head profile="http://gmpg.org/xfn/11"><title><?php echo $title ?></title><meta http-equiv="content-type" content="text/html; charset=UTF-8" /><?php foreach ($styles as $file => $type) echo HTML::style($file, array('media' => $type)), "\n" ?><?php foreach ($scripts as $file) echo HTML::script($file), "\n" ?></head><body><?php echo $content ?></body></html>

Media.php控制器是为了实现HTML:css的路径

<?php
/*** 定位media路径* @author xyt*/
class Controller_Media extends Controller {public function action_serve() {$file = $this->request->param ( "file" );$param=explode(".",$file);    $file=$param[0];$theme = $this->request->param ( 'theme' );    $url=$this->finddir($file,$theme);$this->response->body(file_get_contents($url));}public function finddir($file,$theme){$arr = explode ( '/', $file );$mys =array_pop ( $arr );    $arr = implode ( '/', $arr );if(isset($arr) && $arr==""){$dir = "media/" . $theme ;}else{$dir = "media/" . $theme . "/" . $arr;}switch ($theme){case "css":return  Kohana::find_file ( $dir, $mys,"css" );break;case "js":return  Kohana::find_file ( $dir, $mys,"js" );break;default:return  Kohana::find_file ( $dir, $mys);break;}}
}

转载于:https://www.cnblogs.com/canbefree/p/3701933.html

kohana::模板全攻略相关推荐

  1. Retrofit全攻略——进阶篇

    最近事比较多,距离上次写文章已经过去了一个月了.上一篇文章Retrofit全攻略--基础篇 介绍了Retrofit的基础用法,这篇文章介绍点进阶的用法. 打印网络日志 在开发阶段,为了方便调试,我们需 ...

  2. 服务器操作系统策略,Windows操作系统组策略应用全攻略(2)服务器教程 -电脑资料...

    五.个性化"任务栏"和"开始"菜单 在图6所示窗口的右侧,显示了"任务栏"和"开始"菜单的有关组策略配置项目, 图 6 ...

  3. 用C#制作PDF文件全攻略(转)

    PDF文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经常要用到该格式,但介绍如何制作PDF格式文件的资料非常少,在网上搜来搜去,都转贴的是同一段"暴力"破解 ...

  4. 前端小白也能快速学会的博客园博客美化全攻略

    前端小白也能快速学会的博客园博客美化全攻略 A呦V,博客园er的自我修养是什么?第一条,别只顾收藏和偷师呀,记得点"推荐"或关注本人喔~ 美化方法论简介 一般而言,需要选一个默认的 ...

  5. vue-resource全攻略

    Vue.js--vue-resource全攻略 概述 上一篇我们介绍了如何将$.ajax和Vue.js结合在一起使用,并实现了一个简单的跨域CURD示例.Vue.js是数据驱动的,这使得我们并不需要直 ...

  6. 《Java程序员全攻略:从小工到专家》连载八:加入什么样的公司

    加入什么样的公司 "怎么样,蔡佳娃?听了这么多介绍,心里有点谱了吧?" "嗯,听师兄你这么一说,我想了想,还是优先要追求一下欧美的IT公司.追不到也没关系,至少知道自己不 ...

  7. CSS Grid网格布局全攻略

    CSS Grid网格布局全攻略 所有奇技淫巧都只在方寸之间. 几乎从我们踏入前端开发这个领域开始,就不停地接触不同的布局技术.从常见的浮动到表格布局,再到如今大行其道的flex布局,css布局技术一直 ...

  8. 用C# itextsharp.dll制作PDF文件全攻略

    StreamWriter pPDF=new StreamWriter(filePath); ArrayList xRefs=new ArrayList(); float yPos =0f; long ...

  9. 用C#制作PDF文件全攻略 (专至csdn)

    前 言 丽水市汽车运输集团有限公司信息中心 苟安廷 PDF文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经常要用到该格式,但介绍如何制作PDF格式文件的资料非常少,在网上搜来搜 ...

最新文章

  1. bind日志配置详解
  2. unity3d Sentinel key not found (H0007)解决方法
  3. Combinations leetcode java
  4. 计算机基础知识作业,第一章计算机基础知识作业
  5. 安装SQL Server2008错误解决方案
  6. 翻转字符串里的单词—leetcode151
  7. 算法的力量(李开复)
  8. php类常量的特点,php类常量是什么?类常量用法详解
  9. python实现实时监控_基于 Python 的交换机实时监控系统的设计与实现
  10. 美国款游戏计算机,美国一程序员设计计算机游戏 悼念早逝爱子(图)
  11. linux那些事之 page translation(硬件篇)
  12. 安装配置gitlab
  13. 一条UPDATE从生到死的整个过程的深入解析
  14. java 选择排序入门
  15. PHP学习笔记四(超级全局变量 和 魔术常量)
  16. php lumen timestamp,Lumen 5.4 时区设置
  17. python安装opencv出现错误_通过pip安装opencv时出错
  18. 2017年电力职称计算机考试题,2017年职称计算机考试Excel试题(1)
  19. 量子力学的经典教材_我是亲民_新浪博客
  20. 计算机重新启动操作处于挂起状态,win7系统安装Photoshop提示安装程序检测到计算机重新启动操作可能处于挂起状挂起状态的解决方法...

热门文章

  1. java.sql.SQLException: Before start of result set
  2. php如何看phpinfo(),如何从phpinfo中获取有效信息 | 学步园
  3. RocketMQ(五)——工作原理
  4. del服务器如何收系统日志,利用Rsyslog集中收集系统日志和用户操作记录以及相关处理方法...
  5. linux查看tomcat启动内存溢出,Linux下 Tomcat内存溢出
  6. java 内存指针_C指针和内存
  7. 按量收费云盘_如何自动同步财务系统数据至云盘分享?
  8. combox 增加请选择_好消息!阜阳机动车互联网选号增加新号段!
  9. sql实现从两个表获取字段组成表数据再插入到函数表中
  10. 计算机技术Control,聚变控制计算机 (Fusion Control Computer)