好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

DEDECMS实现文章tag关键词自动生成列表页 - DeDecm

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://HdhCmsTestphpfensi测试数据,后面没有反斜杠;         $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实现文章tag关键词自动生成列表页 - DeDecm的详细内容...

  阅读:52次