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

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

我用的版本是5.7

找到include\taglib目录下的channel.lib.php

找到$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|";

替换为

$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,keyword|";

在$reid = 0;上边增加

if($keyword){

$keyword=' keywords like "%'.$keyword.'%" and ';

}

接下来去找对应的sql语句因为我是调用一个栏目下的子栏目所以我只改了$type=='son'下的sql语句

找到$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";

替换为

$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 ";

其他地方也照着此方法替换就行了主要就是在sql语句中加了WHERE $keyword这个

调用标签为

{dede:channel type='sun' row='200' typeid = '1' keyword='远程'}

[field:typename/]

{/dede:channel}

你可能感兴趣的:(dedecms channel增加keyword根据关键词显示子栏目)