Yii整合smarty

在protected下的extensions文件夹放入我们的smarty类包,按照约定我们同在protected下的extensions(Yii的扩展默认都扔到这里)中建立CSmarty类文件。

内容如下:

  1. <?php  
  2. /**  
  3. *Author:Elite  
  4. */ 
  5.  
  6. require_once(Yii::getPathOfAlias('application.extensions.smarty').DIRECTORY_SEPARATOR.'Smarty.class.php');  
  7. define('SMARTY_VIEW_DIR', Yii::getPathOfAlias('application.views'));  
  8.  
  9. class CSmarty extends Smarty {  
  10.     const DIR_SEP = DIRECTORY_SEPARATOR;  
  11.     function __construct() {  
  12.         parent::__construct();  
  13.          
  14.         $this->template_dir = SMARTY_VIEW_DIR;  
  15.         $this->compile_dir = SMARTY_VIEW_DIR.self::DIR_SEP.'template_c';  
  16.         $this->caching = true;  
  17.         $this->cache_dir = SMARTY_VIEW_DIR.self::DIR_SEP.'cache';  
  18.         $this->left_delimiter  =  '<!--{';  
  19.         $this->right_delimiter =  '}-->';  
  20.         $this->cache_lifetime = 3600;  
  21.     }  
  22.     function init() {}  
  23. }  
  24. ?> 

 

然后建立相关联的文件夹。

 

紧接这是我们的配置部分

打开protected/config/main.php

在components数组中加入

'smarty'=>array(
    'class'=>'application.extensions.CSmarty',
),

最后在action中直接用Yii::app()->smarty就可以试用smarty了。如果每次在action中使用Yii::app()->smarty比较麻烦的话,可以在components下的Controller中可以加入

protected $smarty = '';

protected function init() {
       $this->smarty = Yii::app()->smarty;
 }

然后在action中直接可以用$this->smarty使用smarty了。

本文出自 “我相信” 博客,请务必保留此出处http://mrcelite.blog.51cto.com/2977858/789406

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值