如何 把 dedecms 搜索页面模糊查找改为精确查找

如何 把 dedecms 搜索页面模糊查找改为精确查找,第1张

这种多条件筛选构思上就是利用条件拼接sql语句,但就dedecms的功能来看,静态页比较难实现。

建议进行二次开发,或者制作php单页。

况且存储你所要查询的信息的表,应该也不是dede内置的表就能做的。

一个比较好的方式就是静态的栏目页,用ajax向一个php页提交参数,得到返回值后载入到页面中,体验好,难度也不大。

引入 /include/commonincphp 文件,利用dedecms的语法二次开发吧

dede57伪静态设置七步法:

第一步、后台-系统参数-核心设置-是否使用伪静态:选择“是”;

注:你的网站空间是否支持伪静态,你可以与空间的IDC商联系一下,如果是自己的服务器,那就更好办了,自己动手,丰衣足食。一般来说,空间都是支持伪静态的。Apache服务器伪静态相对简单,直接在htaccess文件中加入相应伪静态规则即可;而IIS服务器伪静态的实现,则需要加载Rewrite组件,然后配置httpdini文件。

第二步、如果你的网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具中执行如下语句:

将所有文档设置为“仅动态浏览”:

update dede_archives set ismake=-1

将所有栏目设置为“使用动态页”:

update dede_arctype set isdefault=-1

第三步、列表页、文章页伪静态修改

打开/include/helpers/channelunithelperphp。

(1)查找:

//动态文章

if($cfg_rewrite == 'Y')

{

return $GLOBALS["cfg_plus_dir"]"/view-"$aid'-1html';

}

替换为

//动态文章

if($cfg_rewrite == 'Y')

{

return "/DedeCMS/DedeCMS57-"$aid'-1html';

}

意思是:将默认的/plus/view-1-1html文章链接格式改为/DedeCMS/DedeCMS57-1-1html。

(2) 查找:

//动态

$reurl = $GLOBALS['cfg_phpurl']"/listphptid="$typeid;

替换为

//动态

$reurl = "/category/list-"$typeid"html";

意思是:将默认的频道或是列表页URL/plus//listphptid=1变更为/dedecms/list-1html形式。

第四步、列表分页伪静态修改

打开/include/arclistviewclassphp

查找:

$plist = str_replace('phptid=', '-', $plist);

替换为

$plist = str_replace('plus/listphptid=', ‘DedeCMS/DedeCMS57-', $plist);

将默认的plus/listphptid=替换成RMB/list-;

意思是:将默认的列表分页链接格式plus/listphptid=x$x$xl修改为DedeCMS/DedeCMS57-x-x-xhtml。

第五步、文章分页伪静态

打开/include/arcarchivesclassphp,找到获取动态的分页列表GetPagebreakDM()函数末尾处:

查找:

$PageList = str_replace("plus/viewphptid=","DedeCMS/DedeCMS57-",$PageList);

替换为

$plist = str_replace('plus/viewphptid=', ’DedeCMS/DedeCMS57-', $plist);

将默认的plus/viewphptid=替换成RMB/huilv-;

意思是:将默认的文章分页链接格式plus/viewphptid=x$x$xl修改为DedeCMS/DedeCMS57-x-x-xhtml

第六步、TAG标签伪静态

DedeCms默认的TAG标签URL,形如/tagsphp/dedecms模板 /,是不是觉得有个问号不怎么爽,我们改成/tags/dedecms模板 /,是不是好看多了。

下面我们来改一下,打开/include/taglib/taglibphp:

查找:

$row['link'] = $cfg_cmsurl"/tagsphp/"urlencode($row['keyword'])"/";

替换为

$row['link'] = $cfg_cmsurl"/tags/"urlencode($row['keyword'])"/";

这样就修改好了,上传你到你的网站,切记:要记得将原网站备份哦!!

第七步、httpdini伪静态规则:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^()/RMB/list-([0-9]+)\html $1/plus/list\php\tid=$2 [I]

RewriteRule ^()/RMB/list-([0-9]+)-([0-9]+)-([0-9]+)\html $1/plus/list\php\tid=$2&TotalResult=$3&PageNo=$4 [I]

RewriteRule ^()/RMB/huilv-([0-9]+)-([0-9]+)\html $1/plus/view\php\arcID=$2&pageno=$3 [I]

RewriteRule ^()/()_()_([0-9]+)\html $1/huilv/from=$2&to=$3&num=$4 [I]

RewriteRule ^()/tags\html $1/tags\php [I]

RewriteRule ^()/tags/()(:(\)) $1/tags\php\\/$2 [I]

RewriteRule ^()/tags/()\/(:(\)) $1/tags\php\\/$2\/ [I]

RewriteRule ^()/tags/()\/([0-9])(:(\)) $1/tags\php\\/$2\/$3 [I]

RewriteRule ^()/tags/()\/([0-9])\/(:(\)) $1/tags\php\\/$2\/$3\/ [I]

将上面代码保存为:httpdini 上传到网站的根目录。

如无特特殊需求建议采用官方默认的生成静态的页面方式浏览。

找到searchphp这个文件,修改!

找到里面有这个标题搜索,和智能搜索的,将其中的2个代码位置调换下就可以了,后面的字你可以改成自己想要的即可!不明白的HI我,或者百度飞鹿优化,找里面的教程

这个你可以通过修改搜索模板文件来达到你的要求。默认的搜索结果是显示内容标题,你可以通过重新编写调用代码来实现,可以用arclist来实现,默认的是用LIST标签来调用。最好是将栏目属性设置成“模型”这样更利于调用内容。不然调用效果也不是很好。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何 把 dedecms 搜索页面模糊查找改为精确查找

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情