找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 123|回复: 0

[cms教程] 织梦实现shtml包含的实现办法

[复制链接]

该用户从未签到

发表于 2019-11-23 10:41:32 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
让织梦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包含.
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-28 11:01

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表