让dedecms完成shtml包含,这是一个非常简单容易的问题。根据dedecms的二次开发,我们可以完成dedecms顶部的导航栏,中间的部分,右侧的公共部分,底部的部分。
让dedecms完成shtml包含,这是一个非常简单容易的问题。根据dedecms的二次开发,我们可以完成dedecms顶部的导航栏,中间的部分,右侧的公共部分,以及dedecms的底部部分,都有非常好的应用,从而减少在html生成的情况下,频繁消耗服务器资源来生成dedecms的html函数。这样可以加快dedecms生成html的速度。
首先,我们必须在dedecms通道的右侧完成一个shtml包含。Dedecms配备了shtml自然环境,在上一篇文章中已经介绍过。
1:首先创建正确的公共模板templates/default/right.htm。
2.写下下面的标志
复制代码编码如下:
functionlib_shtml(&$ctag,&$refobj)
{
if(isset($_GET['tid']){
returnfile_GET_contents('../data/'。$refobj->;字段['id']。right.htm’);
}else{
return'<;!-#includevirtual=""。$GLOBALS['cfg_cmspath']。/data/'。$refobj->;字段['id']。right.htm"->;;
}
}
3:生成通道时,生成匹配通道的右侧。
arc.listview.class.php
复制代码如下:
var$TCP1;
var$TCP3;</p>;
<;p>$this->;TCP1=newDedeTagParse();
$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->;字段['id']。right.htm';
$rightfile=$GLOBALS['CFG_basedir']。$GLOBALS['cfg_cmspath']。"/data/"$file
如果(!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包含。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)