讓dedecms實現(xiàn)shtml包含,這個是十分簡單,也是十分輕松地一個問題.我們可以通過對dedecms地二次開發(fā),實現(xiàn)對dedecms頂 部導(dǎo)航,中間部分,右邊公共部分,以及底部,都有一個很好地支持,從而減少html生成地時候頻繁地消耗系統(tǒng)資源去生成dedecms地html功能.這 樣可以加快dedecms生成html地速度.
首先我們要實現(xiàn)一個對dedecms欄目右邊實現(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實現(xiàn)shtml包含.
更多信息請查看IT技術(shù)專欄