DEDECMS實現(xiàn)文章tag關(guān)鍵詞自動生成列表頁的方法

字號:


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