在CakePHP中使用Smarty做为模板系统
来源:互联网 发布:什么值得买源码 编辑:程序博客网 时间:2024/06/11 17:07
由于这次的项目对方客户指定要求用CakePHP,所以只好硬着头皮去学习这个框架,无奈客户还有个要求,就是模板要使用Smarty,这下配置环境成了大问题,网上很多文章都是讲CakePHP 1.1和Smarty的整合的,很少有见1.2的,不过还是找到了方法,使Smarty成为CakePHP的一个组件,这样就完成了整合.
下面是整合的方法:
1.下载1.2版本的CakePHP,放在web目录中.
2.在/vendors目录下建立smarty目录
3.下载新版的Smarty,将解压后的libs目录整个拷贝到/vendors/smarty目录下
4.在/app/controllers/components/下建立新文件,文件名为smarty.php,内容如下:
5.在/app/tmp目录下建立smarty/cache和smarty/compile目录来防止CakePHP调用本事的view去显示页面.
下面是一个简单的controller的例子index.tpl与普通的smarty模板没有任何区别.
如果大家在使用中有任何问题,欢迎与我讨论.
下面是整合的方法:
1.下载1.2版本的CakePHP,放在web目录中.
2.在/vendors目录下建立smarty目录
3.下载新版的Smarty,将解压后的libs目录整个拷贝到/vendors/smarty目录下
4.在/app/controllers/components/下建立新文件,文件名为smarty.php,内容如下:
- <?php
- vendor('Smarty' . DS . 'libs' . DS . 'Smarty.class');
- class SmartyComponent extends Smarty {
- var $controller;
- var $template_dir;
- var $compile_dir;
- var $cache_dir;
- function __construct() {
- parent::__construct();
- $this->template_dir = VIEWS;
- $this->compile_dir = TMP . 'smarty' . DS . 'compile' . DS;
- $this->cache_dir = TMP . 'smarty' . DS . 'cache' . DS;
- $this->left_delimiter = '<{';
- $this->right_delimiter = '}>';
- }
- }
- ?>
6.在controller中使用
调用smarty,并使用
- var $components = array('smarty');
- function render() {}
下面是一个简单的controller的例子
- class PostsController extends AppController {
- var $name = 'Posts';
- var $components = array('smarty');
- function index() {
- $this->smarty->caching = true;
- $this->smarty->cache_lifetime = 3600*5;
- $this->smarty->assign('posts', $this->Post->findAll());
- $this->smarty->display('posts/index.tpl');
- }
- function render() {}
- }
如果大家在使用中有任何问题,欢迎与我讨论.
- 在CakePHP中使用Smarty做为模板系统
- 在CakePHP中使用swfObject
- 如何在smarty模板中使用自定义函数
- MVC中使用smarty模板
- cakephp: 在条件中使用sql函数
- [CakePHP] 在Controller中使用Helper
- 如何在CakePHP中使用Ajax请求
- 在Dreamweaver中编辑Smarty模板
- PHP 中使用 Smarty 之初:认识 Smarty 模板引擎
- Thinkphp中使用smarty模板引擎时在U函数中使用变量的问题
- 在Smarty中使用FCKeditor
- 【PHP】smarty模板中使用随机数
- PHP Yii框架中使用smarty模板
- smarty模板中使用php函数
- 新浪SAE中如何使用smarty模板
- smarty模板中truncate的使用
- PHP中Smarty模板的使用
- PHP 中使用 Smarty 之二:配置文件在模板变量中的使用
- Boost python 学习笔记
- java访问保护
- C#反编译工具Reflector使用方法,(支持VB、Delphi等)
- Struts程序中的No getter method for property错误问题
- Linux 动态库剖析
- 在CakePHP中使用Smarty做为模板系统
- 解决Boost.Regex对中文支持不好的问题
- 【讨论】网络验证也能爆破?
- JAVA-080916JDK How to set java run time environment(chinese)
- 山西襄汾溃坝事故已造成259人死亡
- 简易而又灵活的Javascript拖拽框架(一)
- 世界上最远的距离 ——泰戈尔
- 判断ip地址,限制投票功能代码
- 简易而又灵活的Javascript拖拽框架(二)