A-A+
织梦dedecms搜索页中支持arclist,sql等标签
dede的搜索结果页面有诸多不便之处,即不能够实现使用arclist,sql等标签,这就需要我们更改一下源码,来实现调用标签。
此方法仅适用于搜索页,不适用留言板页面。
我们首先要知道DedeCMS所有的全局标签处理文件,都是在\include\helpers目录下面,一个文件就是一个标签,如果需要添加标签,也可以添加到这里。
第一步打开:/include/arc.searchview.class.php,需要添加什么标签,就先在顶部引入对应的标签处理文件。例如我这里,需要arclist,sql
1 2 3 | require_once(DEDEINC."/taglib/channel.lib.php"); require_once(DEDEINC."/taglib/arclist.lib.php"); //新增 require_once(DEDEINC."/taglib/sql.lib.php"); //新增 |
第二步:找到下面的Display方法,可以看到,里面多处对tagname进行判断处理。因为channel系统已经有了,我们就把arclist与SQL的添加到下面就OK了。
添加到
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | else if($tagname=="channel") { //下级频道列表 if($this->TypeID>0) { $typeid = $this->TypeID; $reid = $this->TypeLink->TypeInfos['reid']; } else { $typeid = 0; $reid=0; } $GLOBALS['envs']['typeid'] = $typeid; $GLOBALS['envs']['reid'] = $typeid; $this->dtp->Assign($tagid,lib_channel($ctag,$this)); } |
之后,代码如下
1 2 3 4 5 6 7 8 | else if($tagname=="arclist") { $this->dtp->Assign($tagid,lib_arclist($ctag,$this)); } else if($tagname=="sql") { $this->dtp->Assign($tagid,lib_sql($ctag,$this)); } |
如果需要支持其它标签,方法一样,就是先在顶部引入文件,然后在Display方法中,添加判断处理语句就OK了。
文章来源:http://www.uu6c.com/document/16.html
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏