下载 smarty 的库,解压到 protected/extensions 中, 在 protected/extensions 创建class文件,内容如下:
<?php
require_once (Yii::getPathOfAlias('application.extensions.smarty.libs' ) . DIRECTORY_SEPARATOR . 'Smarty.class.php' );
define('SMARTY_VIEW_DIR' , Yii::getPathOfAlias('application.views' ));
class CSmarty extends Smarty {
function __construct () {
parent ::__construct();
$this ->template_dir = SMARTY_VIEW_DIR;
$this ->compile_dir = SMARTY_VIEW_DIR . DIRECTORY_SEPARATOR . 'template_c' ;
$this ->caching = false ;
$this ->cache_dir = SMARTY_VIEW_DIR . DIRECTORY_SEPARATOR . 'cache' ;
$this ->config_dir = SMARTY_VIEW_DIR . DIRECTORY_SEPARATOR . 'config' ;
$this ->cache_lifetime = 3600 ;
$this ->assign('home_page' , 'http://blog.youkuaiyun.com/dotuian' );
}
function init () {
}
}
protected/config/main.php 的配置:
'import' =>array (
'application.models.*' ,
'application.components.*' ,
'application.extensions.*' ,
'application.extensions.smarty.libs.sysplugins.*' ,
),
'components' =>array (
'smarty' =>array (
'class' =>'application.extensions.CSmarty' ,
),
),
public function actionSmarty () {
Yii ::app() ->smarty->assign('page_title' , 'TITLE: This is the Smarty basic example ...' ) ;
Yii ::app() ->smarty->assign('body_text' , 'BODY: This is the message set using assign()' ) ;
Yii ::app() ->smarty->display('site' . DIRECTORY_SEPARATOR . 'smarty.tpl' ) ;
}
protected/views/site/smary.tpl 视图文件的内容:
<html >
<head >
<title > {$page_title}</title >
</head >
<body >
{$body_text}<br />
{$smarty.now}<br />
{$home_page}<br />
</body >
</html >