很多朋友在使用dedecms进行网站开发时都会存在这样的问题,那就是dedecms的搜索页(search.php)与我们网站页面的模板的头部、底部不一样,并且还不支持在搜索页调用其他某一栏目的文档。但是我们实际的网站建设中有时候必须保证我们的搜索页与我们的其他页面风格一样,所以我们要对搜索页进行一些改造:
下边我们来介绍一下如何在搜索页支持arclist和channelartlist这两个标签的调用:
打开include/arc.searchview.class.php
查找
require_once(DEDEINC."/taglib/hotwords.lib.php");
require_once(DEDEINC."/taglib/channel.lib.php");
下面插入
require_once(DEDEINC."/taglib/arclist.lib.php");
require_once(DEDEINC."/taglib/channelartlist.lib.php");
查找
else if($tagname=="hotwords")
{
$this->dtp->Assign($tagid,lib_hotwords($ctag,$this));
}
下面插入
else if($tagname=="arclist")
{
$this->dtp->Assign($tagid,lib_arclist($ctag,$this));
}
else if($tagname=="channelartlist")
{
$this->dtp->Assign($tagid,lib_channelartlist($ctag,$this));
}
当然,有时候我们的搜索页面还要支持更多的标签调用,那么大家可以根据上边的这样的方法自行再进行一些相应的修改。
$this->dtp->LoadTemplate($tempfile);引入的模板文件是可以使用chanel标签的,但是要想使用arclist标签,还得加入上面的代码,当我们自己new一个新的DedeTagParse后LoadTemplate是不会解析dede标签的,
LoadTemplate(要填入绝对路径)硬盘路径
所以使用search.php是可以在模板文件search.htm中使用dede:chanel等标签,如果还想使用其他标签,按照上面的操作
advancedsearch.php由于是LoadTemplate加载的所以不能使用dede:chanel标签了