如何讓dedecms實現shtml

如何讓dedecms實現shtml

如何讓dedecms實現shtml

讓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(&amp;$ctag,&amp;$refObj) { if(isset($_GET['tid'])){ return?file_get_contents('../data/'.$refObj-&gt;Fields['id'].'right.htm'); }else{ return?'<!--#include virtual="&#39;.$GLOBALS[&#39;cfg_cmspath&#39;].&#39;/data/&#39;.$refObj->Fields[&#39;id&#39;].&#39;right.htm"-->'; } }

? ? 3:生成欄目的時候,生成對應欄目的右邊。

???arc.listview.class.php

代碼如下:

var?$tcp1; var?$tcp3;?<p>?$this-&gt;tcp1?=?new?DedeTagParse(); $this-&gt;tcp1-&gt;SetRefObj($this); $this-&gt;tcp1-&gt;SetNameSpace("dede",?"{",?"}");</p>

? ? ?加載right.htm模板

??$this-&gt;tcp1-&gt;LoadTemplate($GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/right.htm");

? ? 生成html

???$file?=?$this-&gt;Fields['id'].'right.htm'; ????????????$rightfile?=?$GLOBALS['cfg_basedir'].$GLOBALS['cfg_cmspath']."/data/".$file; ??????????? ????????????if(!file_exists($rightfile)){ ????????????????$this-&gt;tcp1-&gt;SaveTo($rightfile); ??????????? ????????????}else{ ????????????????if((time()-filectime($rightfile))&gt;3600){ ????????????????????$this-&gt;tcp1-&gt;SaveTo($rightfile); ????????????????} ????????????}

? ? ? 給模板賦值

?????MakeOneTag($this-&gt;tcp1,$this);

? 4:模板中直接調用{dede:shtml/}

? ?后臺生成,就完成了讓dedecms實現shtml包含.

以上就是如何讓

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享