路过人间 发表于 2008-7-5 10:02:35

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

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

    /**
   * 模板参数信息
   *
   * @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目录,

路过人间 发表于 2008-7-5 10:03:06

晕,忘记附件了。。

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

Hex 发表于 2008-7-6 22:26:25

非常不错!加分!

trynews 发表于 2009-1-20 13:22:31

听起来不错,下来看看

风无影 发表于 2009-1-22 09:53:13

谢谢,改天试试看:)

漫无目的 发表于 2009-1-26 03:10:44

很不错记号一下! 顶

dragon 发表于 2009-2-22 16:50:45

感谢分享~

nadec 发表于 2009-10-6 10:41:44

有谁用起来了?

tmnh168 发表于 2009-10-6 14:17:39

运行失败

ichun 发表于 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
页: [1] 2
查看完整版本: 在CI中使用扩展的Discuz模板引擎 (原创)