這篇文章主要為大家介紹了DEDECMS實現(xiàn)文章tag關鍵詞自動生成列表頁的方法,重點介紹了修改獲取關鍵字網址代碼的方法,是dedecms二次開發(fā)中非常實用的技巧,需要的朋友可以參考下
本文實例講述了DEDECMS實現(xiàn)文章tag關鍵詞自動生成列表頁的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
一般來說在dedecms中如果要頁面關鍵詞生成列表有兩種辦法:一種就是使用dedecms自帶的tag.php調用并生成,另一種是就是我們要介紹的生成列表頁面方法。
利用 文檔關鍵詞維護->分析系統(tǒng)內的關鍵字->檢測已有的關鍵字 功能,自動獲取關鍵字鏈接網址,修改如下:找到 dedearticle_keywords_make.php 80行,代碼如下:
代碼如下:
foreach($wsnew as $k=>$v)
{
if(strlen($k)>20)
{
continue;
}
$dsql->SetQuery("Insert Into `dede_keywords`(keyword,rank,sta,rpurl) Values('".addslashes($k)."','$v','1','')");
$dsql->Execute();
}
替換為如下代碼:
代碼如下:
foreach($wsnew as $k=>$v)
{
$rpurl="";
$myrow = $dsql->GetOne("SELECT distinct concat(replace(b.sitepath,'{cmspath}',''),'/',(case a.filename when '' then a.id else a.filename end),'.html') rpurl FROM dede_archives a,dede_arctype b where a.typeid=b.id And (a.keywords='$k' or a.keywords like'$k,%' or a.keywords like'%,$k'or a.keywords like'%,$k,%') ");
if(is_array($myrow))
{
//注意:$GLOBALS['cfg_basehost'] 樣式類似為 http://www.jb51.net,后面沒有反斜杠;
$rpurl = $GLOBALS['cfg_basehost'].trim($myrow['rpurl']);
}
$dsql->SetQuery("Insert Into `dede_keywords`(keyword,rank,sta,rpurl) Values('".addslashes($k)."','$v','1','$rpurl')");
$dsql->Execute();
}
在templetsdefault目錄下新建 keywords.htm 模板文件(如果已自定義模板路徑,此處選擇對應的目錄);keywords.html模板頁面的源碼保存為如下代碼:
代碼如下:
{dede:sql sql='Select * from dede_keywords order by aid}
[field:aid/] - '[field:rpurl/]' target='_blank'>[field:keyword/]
{/dede:sql}
進入DedeCms后臺管理界面:
生成->HTML更新->更新主頁HTML,進入“主頁更新向導:”頁面,
設置“選擇主頁模板:”為“default/keywords.htm”;
設置“主頁位置:”為“../keywords.html”;
設置“相關選項:”為“不保存當前選項”;
最后點擊“預覽主頁”或“更新主頁HTML”
即可生成“DedeCms文檔關鍵詞列表頁”.
希望本文所述對大家的dedecms建站有所幫助。