dedecms channel增加keyword根据关键词显示子栏目

 设计了一个网站里边有太多的子栏目但子栏目有很多关键词做区分和调用{dede:channel} 并不支持只好自己动手修改了我这里关键词用的是栏目的关键词根据栏目的关键词调用区分.

我用的版本是5.7nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

找到include\taglib目录下的channel.lib.phpnB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

找到$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|";nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

替换为:nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,keyword|";nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

在$reid = 0;上边增加:nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

if($keyword){nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

$keyword=' keywords like "%'.$keyword.'%" and ';nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

}nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

接下来去找对应的sql语句因为我是调用一个栏目下的子栏目所以我只改了$type=='son'下的sql语句nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

找到$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathnB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站
From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

替换为:nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,keywords,description From `#@__arctype` WHERE $keyword reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

其他地方也照着此方法替换就行了主要就是在sql语句中加了 WHERE $keyword这个nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

调用标签为:nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

{dede:channel type='sun' row='200' typeid = '1' keyword='远程'}nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

[field:typename/]nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

{/dede:channel}nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

 
 
nB2迪尔课堂(迪尔掌上课堂)--官网 免费自学网站

扫一扫手机访问