查看完整版本: 在CI中使用扩展的Discuz模板引擎 (原创)

路过人间 2008-7-5 10:02

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

ci本身没有模板引擎,当然你可以很轻松的在里面扩展第三方的引擎,
而Discuz在模板方面的技术非常成熟,标签简单,上手特别容易,
通过几天的将dz的模板引擎从内核中单独分离出来,而且扩充了缓存的功能,经过测试,
非常完美,先分享出来给大伙。
贴一下内核类的部分代码

[code=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 表示永久
        );
        }[/code]

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

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

路过人间 2008-7-5 10:03

晕,忘记附件了。。

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

Hex 2008-7-6 22:26

非常不错!加分!
页: [1]
查看完整版本: 在CI中使用扩展的Discuz模板引擎 (原创)