主頁 > 網(wǎng)站建設(shè) > 建站知識 > dedecms教程:織夢實(shí)現(xiàn)shtml包含的實(shí)現(xiàn)方法

dedecms教程:織夢實(shí)現(xiàn)shtml包含的實(shí)現(xiàn)方法

POST TIME:2020-04-05 23:17

讓dedecms實(shí)現(xiàn)shtml包含,這個是十分簡單,也是十分輕松的一個問題。我們可以通過對dedecms的二次開發(fā),實(shí)現(xiàn)對dedecms頂 部導(dǎo)航,中間部分,右邊公共部分,以及底部,都有一個很好的支持,從而減少html生成的時候頻繁的消耗系統(tǒng)資源去生成dedecms的html功能。這 樣可以加快dedecms生成html的速度。

首先我們要實(shí)現(xiàn)一個對dedecms欄目右邊實(shí)現(xiàn)shtml包含。有關(guān)dedecms配置shtml環(huán)境,上篇文章都講述過了。

1:首先建立右邊公共模板templates/default/right.htm

2:編寫以下標(biāo)簽

代碼如下:
function lib_shtml(&$ctag,&$refObj)
{
if(isset($_GET['tid'])){
return file_get_contents('../data/'.$refObj->Fields['id'].'right.htm');
}else{

return '<!--#include virtual="'.$GLOBALS['cfg_cmspath'].'/data/'.$refObj->Fields['id'].'right.htm"-->';
}
}

3:生成欄目的時候,生成對應(yīng)欄目的右邊。

arc.listview.class.php

代碼如下:
var $tcp1;
var $tcp3;</p> <p> $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:模板中直接調(diào)用{dede:shtml/}

后臺生成,就完成了讓dedecms實(shí)現(xiàn)shtml包含.



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266