方法一:織夢DdedCMS發布文章同時更新所有單頁面的方法
1)功能簡介:
這種功能可以實現的是比如:你建立一個新的單頁面,用編譯器進行編譯織夢自帶的標簽,例如arclist(這樣做可以做一個全站的最新更新列表),那么就可以利用這種方法來實現,當我們新發布了一篇文章,就會自動更新首頁和全部的單頁面文件(即上面說的最近更新列表),達到真正意義上的最近更新,類似于新浪的滾動新聞列表 - 實時更新,讓訪客一目了然,提高網站的用戶粘度;
當然,這種方式還可以實現很多功能,這需要大家去挖掘了。
2)如何實現:
在網站后臺目錄(默認目錄為 /dede)的task_do.php 文件中,找到如下代碼:
$GLOBALS['_arclistEnv'] = ‘index’;
$pv->SetTemplet($tpl);
$pv->SaveToHtml($homeFile);
$pv->Close();
在下面一行增加如下代碼:
//更新所有的單頁面
include_once(DEDEINC."/arc.sgpage.class.php");
$dsql->Execute("ex","Select aid From `dede_sgpage` ");
$i = 0;
while($row = $dsql->GetArray("ex"))
{
$sg = new sgpage($row['aid']);
$sg->SaveToHtml();
$i++;
}
//更新所有的單頁面
保存關閉后即可;
要正常使用這個功能,您還必須:
在后臺的[系統基本參數]——性能選項中,將“發布文章后馬上更新網站主頁:”設置為“是”,這樣才能保證代碼的順利執行[必須];
在后臺的[系統基本參數]——性能選項中,將“arclist標簽調用緩存”盡量調小一點[非必須,更新自己的功能選擇];
本方法在織夢5.7下測試可用。
知識二:如何讓織夢添加的單頁文檔自動更新
織夢dedecms具有很好的生成HTML功能,在后臺主頁面中也添加了一鍵更新功能,不過后臺單頁面文檔的更新,必須在單頁文檔管理欄目下才能完成,點擊一鍵更新無法更新
下面的教程教您怎么讓織夢自定義文檔在更新網站時能夠自動完成一鍵更新
站點后臺目錄文件,默認/dede/ 目錄下
找到 makehtml_all.php 文件,打開
大約在144行找到下面的源文件:
else if($step==10)
{
$adminID = $cuserLogin->getUserID();
$mkcachefile = DEDEDATA."/mkall_cache_{$adminID}.php";
@unlink($mkcachefile);
OptimizeData($dsql);
ShowMsg("完成所有文件的更新!","javascript:;");
exit();
}//make step
修改為以下代碼后
else if($step==10)
{
$dsql->Execute("ex","SELECT aid FROM `dede_sgpage` ");
$i = 0;
while($row = $dsql->GetArray("ex"))
{
$sg = new sgpage($row['aid']);
$sg->SaveToHtml();
$i++;
}
$adminID = $cuserLogin->getUserID();
$mkcachefile = DEDEDATA."/mkall_cache_{$adminID}.php";
@unlink($mkcachefile);
OptimizeData($dsql);
ShowMsg("完成所有文件的更新!","javascript:;");
exit();
}//make step
通過更改以上代碼,既可以使得dedecms的一鍵更新成為真正意義上的一鍵更新