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

来自:互联网
时间:2018-09-01
阅读:

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

我用的版本是5.7

找到includetaglib目录下的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='son' row='200' typeid = '1' keyword='关键字'}

[field:typename/]

{/dede:channel}

返回顶部
顶部