当前位置:首页 > CMS教程 > DeDecms > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-16 17:18:44 浏览: 评论:0 
在dedecms中如果要页面关键词生成列表有两种办法一种就是使用dedecms自带的tag.php调用并生成,另一种是就是我们要介绍的生成列表页面方法。

一、利用 文档关键词维护->分析系统内的关键字->检测已有的关键字 功能,自动获取关键字链接网址,修改如下:找到 dedearticle_keywords_make.php 80行,代码如下:

  1. foreach($wsnew as $k=>$v)        
  2. {        
  3. if(strlen($k)>20)        
  4. {        
  5. continue;        
  6. }        
  7. $dsql->SetQuery("Insert Into `dede_keywords`(keyword,rank,sta,rpurl) Values('".addslashes($k)."','$v','1','')");        
  8. $dsql->Execute();        

替换为如下代码:

  1. foreach($wsnew as $k=>$v)        
  2.     {        
  3.     $rpurl="";        
  4.     $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,%') ");        
  5.     if(is_array($myrow))        
  6.     {        
  7.     //注意:$GLOBALS['cfg_basehost'] 样式类似为 http://www.phpfensi.com,后面没有反斜杠;  
  8.     $rpurl = $GLOBALS['cfg_basehost'].trim($myrow['rpurl']);        
  9.     }        
  10.     $dsql->SetQuery("Insert Into `dede_keywords`(keyword,rank,sta,rpurl) Values('".addslashes($k)."','$v','1','$rpurl')");        
  11.     $dsql->Execute();        
  12.     }  

在templetsdefault目录下新建 keywords.htm 模板文件(如果已自定义模板路径,此处选择对应的目录);keywords.html模板页面的源码保存为如下代码:

  1. {dede:sql sql='Select * from dede_keywords order by aid}   
  2.  
  3. [field:aid/] - '[field:rpurl/]' target='_blank'>[field:keyword/]
  4.    
  5. {/dede:sql}  

进入DedeCms后台管理界面:

生成->HTML更新->更新主页HTML,进入“主页更新向导:”页面,      

设置“选择主页模板:”为“default/keywords.htm”;      

设置“主页位置:”为“../keywords.html”;      

设置“相关选项:”为“不保存当前选项”;      

最后点击“预览主页”或“更新主页HTML”  

即可生成“DedeCms文档关键词列表页”.

Tags: DEDECMS 文章tag 关键词

分享到: