设为首页收藏本站
查看: 78|回复: 0

[PHP] Yii框架整合Smarty模板引擎

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2014-5-16 09:11:00 | 显示全部楼层 |阅读模式
    Smarty作为最成熟使用最多的模板之一,相信大家都比较熟悉。如果还有的同学不是很熟悉,可以参考Smarty教程。不过就算不会也不要紧,我这里尽量详细说明让大家明白。
    可以先了解smarty中的assign(),include,display()这几个函数的用法。另外,还需要知道if-else,foreach这两个标签。这就够了!
    配置Smarty支持 1、创建一个类,文件名为:CSmarty.php?内容如下:
      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方法了。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表