muban大师 发表于 2020-12-24 09:43:28

DEDECMS实现文章tag关键词自动生成列表页的方法

本文实例讲述了DEDECMS实现文章tag关键词自动生成列表页的方法。分享给大家供大家参考。具体实现方法如下:
       
        一般来说在dedecms中如果要页面关键词生成列表有两种办法:一种就是使用dedecms自带的tag.php调用并生成,另一种是就是我们要介绍的生成列表页面方法。
       
        利用 文档关键词维护->分析系统内的关键字->检测已有的关键字 功能,自动获取关键字链接网址,修改如下:找到 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.adminbuy.cn,后面没有反斜杠;
        $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}
       
        - '' target='_blank'>
       
        {/dede:sql}
        进入DedeCms后台管理界面:
       
        生成->HTML更新->更新主页HTML,进入“主页更新向导:”页面,   
       
        设置“选择主页模板:”为“default/keywords.htm”;   
       
        设置“主页位置:”为“../keywords.html”;   
       
        设置“相关选项:”为“不保存当前选项”;   
       
        最后点击“预览主页”或“更新主页HTML”
       
        即可生成“DedeCms文档关键词列表页”.
       
        希望本文所述对大家的dedecms建站有所帮助。
页: [1]
查看完整版本: DEDECMS实现文章tag关键词自动生成列表页的方法