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

织梦教程 强烈建议 2024-06-16 10:35 72 0

  让织梦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('https://www.xmam.net/data/'.$refObj->Fields['id'].'right.htm');

  }else{

  return '';

  }

  }

  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包含.

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!