用户
 找回密码
 入住 CI 中国社区
搜索
查看: 10885|回复: 10
收起左侧

[库 Library] 在CI中使用扩展的Discuz模板引擎 (原创)

  [复制链接]
发表于 2008-7-5 10:02:35 | 显示全部楼层 |阅读模式
ci本身没有模板引擎,当然你可以很轻松的在里面扩展第三方的引擎,
而Discuz在模板方面的技术非常成熟,标签简单,上手特别容易,
通过几天的将dz的模板引擎从内核中单独分离出来,而且扩充了缓存的功能,经过测试,
非常完美,先分享出来给大伙。
贴一下内核类的部分代码

PHP复制代码
    /**
     * 模板参数信息
     *
     * @var array
     */

    var $_options = array();
        //2008-7-5
        //引入CI
        var $CI;
 
 
    /**
     * 构造方法
     * 适用于php4 和php5
     * @return void
     */

    function __construct()
    {
                return DzTemplate();
    }
 
 
        function DzTemplate()
        {
                //初始化
                $this->CI =& get_instance();
        $this->_options = array(
            'template_dir' => SMARTY_DIR, //模板文件所在目录
            'cache_dir' => SMARTY_DIR .'/cache/', //缓存文件存放目录
            'auto_update' => true, //当模板文件改动时是否重新生成缓存
            'cache_lifetime' => 0, //缓存生命周期(分钟),为 0 表示永久
        );
        }
复制代码


在初始化下面的options 里设置模板和缓存文件目录,缓存周期等。

将附件解压到你的项目文件中,直接使用,
DZ模板类文件在libraries
模板目录跟CI的默认模板目录一样都是views
还有一个简单的测试文件在controllers目录,

评分

参与人数 1威望 +5 收起 理由
Hex + 5 原创内容

查看全部评分

 楼主| 发表于 2008-7-5 10:03:06 | 显示全部楼层
晕,忘记附件了。。

至于模板标签的制作,请各位自己参照dz的模板标签用法

dztemplate.zip

6.31 KB, 下载次数: 400

发表于 2008-7-6 22:26:25 | 显示全部楼层
非常不错!加分!
发表于 2009-1-20 13:22:31 | 显示全部楼层
听起来不错,下来看看
发表于 2009-1-22 09:53:13 | 显示全部楼层
谢谢,改天试试看:)
发表于 2009-1-26 03:10:44 | 显示全部楼层
很不错记号一下! 顶
发表于 2009-2-22 16:50:45 | 显示全部楼层
感谢分享~
发表于 2009-10-6 10:41:44 | 显示全部楼层
有谁用起来了?
发表于 2009-10-6 14:17:39 | 显示全部楼层
运行失败
发表于 2009-11-7 11:06:59 | 显示全部楼层
是的。多次出现 undefined  提示
第一次是APPNAME写错了,应该是APPPATH

第二次是undefined function
Fatal error: Call to undefined function dztemplate() in D:\www\ci\system\libraries\DzTemplate.php on line 33

本版积分规则