讓dedecms實現shtml包含,這個是十分簡單,也是十分輕松的一個問題。我們可以通過對DEDECMS的二次開發,實現對dedecms頂部導航,中間部分,右邊公共部分,以及底部
??
推薦學習:織夢cms
讓dedecms實現shtml包含,這個是十分簡單,也是十分輕松的一個問題。我們可以通過對dedecms的二次開發,實現對dedecms頂部導航,中間部分,右邊公共部分,以及底部,都有一個很好的支持,從而減少html生成的時候頻繁的消耗系統資源去生成dedecms的html功能。這樣可以加快dedecms生成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?'<!--#include virtual="'.$GLOBALS['cfg_cmspath'].'/data/'.$refObj->Fields['id'].'right.htm"-->'; } }
? ? 3:生成欄目的時候,生成對應欄目的右邊。
???arc.listview.class.php
代碼如下:
var?$tcp1; var?$tcp3;?<p>?$this->tcp1?=?new?DedeTagParse(); $this->tcp1->SetRefObj($this); $this->tcp1->SetNameSpace("dede",?"{",?"}");</p>
? ? ?加載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包含.
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦