首页 > PHP资讯 > PHP培训技术 > Yii框架整合Smarty模板引擎

Yii框架整合Smarty模板引擎

PHP培训技术

Smarty作为最成熟使用最多的模板之一,相信大家都比较熟悉。如果还有的同学不是很熟悉,可以参考 ::getPathOfAlias('application.extensions.smarty') . DIRECTORY_SEPARATOR . 'Smarty.class.php');define('SMARTY_VIEW_DIR', Yii::getPathOfAlias('application.views'));class CSmarty extends Smarty { const DIR_SEP = DIRECTORY_SEPARATOR; function __construct() { parent::__construct(); $this -> template_dir = SMARTY_VIEW_DIR; $this -> compile_dir = SMARTY_VIEW_DIR . self::DIR_SEP . 'template_c'; $this -> caching = true; $this -> cache_dir = SMARTY_VIEW_DIR . self::DIR_SEP . 'cache'; $this -> left_delimiter = ''; $this -> cache_lifetime = 0; // -- 初始全局数据 $this -> assign('base_url', 'http://www.ttall.net'); $this -> assign('index_url', 'http://www.ttall.net/index.php'); } function init() { }}

把上述类放到文件目录:?protected/extensions/

2、配置protected/config/main.php
在该文件中加入如下代码:

dirname(__FILE__).DIRECTORY_SEPARATOR.'..',	'name'=>'易百IT教程网-www.yiibai.com',	// preloading 'log' component	'preload'=>array('log'),	// autoloading model and component classes	'import'=>array(		'application.models.*',		'application.components.*',		'application.extensions.*',		'application.extensions.smarty.sysplugins.*',	),	// application components	'components'=>array(		'user'=>array(			// enable cookie-based authentication			'allowAutoLogin'=>true,		),		'smarty'=>array(			'class'=>'application.extensions.CSmarty',		),

3、找到文件protected/components/Controller.php,加入两个方法:

/** * Smarty assign()方法 * */public function assign($key, $value) {	Yii::app() -> smarty -> assign($key, $value);}/** * Smarty display()方法 * */public function display($view) {	Yii::app() -> smarty -> display($view);}

这样,我们就可以在每一个控制器里直接调用这两个Smarty方法了。

PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持35不支持0