muban大师 发表于 2019-11-23 10:41:32

织梦实现shtml包含的实现办法

让织梦CMS实现shtml包含,这个是十分简单,也是十分轻松的一个问题。
       
        我们可以通过对织梦CMS的二开,实现对织梦CMS顶 部导航,中间部分,右边公共部分,以及底部,都有一个很好的支持,从而减少html生成的时候频繁的消耗系统资源去生成织梦CMS的html功能。
       
        这 样可以加快织梦模板生成html的速度。
       
       
             首先我们要实现一个对dedecms栏目右边实现shtml包含。
       
             有关dedecms配置shtml环境,上篇新闻都讲述过了。
       
             1:首先建立右边公共源码templates/default/right.htm
       
             2:编写以下标签
       
       
       
        代码如下:
       
        function lib_shtml(&$ctag,&$refObj)
       
        {
       
        if(isset($_GET['tid',)){
       
        return file_get_contents('../data/'.$refObj->Fields['id',.'right.htm');
       
        }else{
       
       
       
        return 'Fields['id',.'right.htm"-->';
       
        }
       
        }
       
          3:生成栏目的时候,生成对应栏目的右边。
       
           arc.listview.class.php
       
       
       
        代码如下:
       
        var $tcp1;
       
        var $tcp3;
$this->tcp1 = new DedeTagParse();
       
        $this->tcp1->SetRefObj($this);
       
        $this->tcp1->SetNameSpace("dede", "{", "}");
       
             加载right.htm源码
       
             $this->tcp1->LoadTemplate($GLOBALS['cfg_basedir',.$GLOBALS['cfg_templets_dir',."/".$GLOBALS['cfg_df_style',."/right.htm");
       
          生成html
       
             $file = $this->Fields['id',.'right.htm';
       
                    $rightfile = $GLOBALS['cfg_basedir',.$GLOBALS['cfg_cmspath',."/data/".$file;
       
                   
       
                    if(!file_exists($rightfile)){
       
                      $this->tcp1->SaveTo($rightfile);
       
                   
       
                    }else{
       
                      if((time()-filectime($rightfile))>3600){
       
                            $this->tcp1->SaveTo($rightfile);
       
                      }
       
                    }
       
              给源码赋值
       
             MakeOneTag($this->tcp1,$this);
       
          4:源码中直接调用{dede:shtml/}
       
           后台生成,就完成了让dedecms实现shtml包含.
页: [1]
查看完整版本: 织梦实现shtml包含的实现办法