dedecms中如果要页面关键词生成列表有两种办法:一种就是使用dedecms自带的tag.php调用并生成,另一种是就是我们要介绍的生成列表页面方法。
文档关键词维护-分析系统内的关键字-检测已有的关键字功能,自动获取关键字链接网址,
打开dedearticle_keywords_make.php文件
找到
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.123.com,后面没有反斜杠;$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();}
在/templets/default目录下新建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文档关键词列表页”