這篇文章主要為大家介紹了DEDECMS實(shí)現(xiàn)文章tag關(guān)鍵詞自動(dòng)生成列表頁的方法,重點(diǎn)介紹了修改獲取關(guān)鍵字網(wǎng)址代碼的方法,是dedecms二次開發(fā)中非常實(shí)用的技巧,需要的朋友可以參考下
本文實(shí)例講述了DEDECMS實(shí)現(xiàn)文章tag關(guān)鍵詞自動(dòng)生成列表頁的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
一般來說在dedecms中如果要頁面關(guān)鍵詞生成列表有兩種辦法:一種就是使用dedecms自帶的tag.php調(diào)用并生成,另一種是就是我們要介紹的生成列表頁面方法。
利用 文檔關(guān)鍵詞維護(hù)->分析系統(tǒng)內(nèi)的關(guān)鍵字->檢測(cè)已有的關(guān)鍵字 功能,自動(dòng)獲取關(guān)鍵字鏈接網(wǎ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 模板文件(如果已自定義模板路徑,此處選擇對(duì)應(yīng)的目錄);keywords.html模板頁面的源碼保存為如下代碼:
代碼如下:
{dede:sql sql='Select * from dede_keywords order by aid}
[field:aid/] - '[field:rpurl/]' target='_blank'>[field:keyword/]
{/dede:sql}
進(jìn)入DedeCms后臺(tái)管理界面:
生成->HTML更新->更新主頁HTML,進(jìn)入“主頁更新向?qū)В骸表撁妫?
設(shè)置“選擇主頁模板:”為“default/keywords.htm”;
設(shè)置“主頁位置:”為“../keywords.html”;
設(shè)置“相關(guān)選項(xiàng):”為“不保存當(dāng)前選項(xiàng)”;
最后點(diǎn)擊“預(yù)覽主頁”或“更新主頁HTML”
即可生成“DedeCms文檔關(guān)鍵詞列表頁”.
希望本文所述對(duì)大家的dedecms建站有所幫助。