查看: 52|回复: 0

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

[复制链接]

1

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-2-21
发表于 2024-1-23 00:00:00 | 显示全部楼层 |阅读模式

本文实例讲述了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'] 样式类似为 https://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 模板文件(如果已自定义模板路径,此处选择对应的目录);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建站有所帮助。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部