Dedecms自定义字段搜索功能实现步骤如下:
一:打开
你的数据库,找到dede_full_search这个表,在里面把你
自定义的字段
添加进表,这里以我的网站为例,我
添加了myskill,myexchange,mygoods,myexgoods,这4个字段
二:打开/member/article_add_action.
PHP,找到"//更新全站
搜索索引",在下面的一段
代码中插入刚才
添加的4个字段,
例:“'myskill'=>$myskill,'myexchange'=>$myexchange,'mygoods'=>$mygoods,'myexgoods'=>$myexgoods”,
这里说明一下,前面的'myskill'为你发布
文章时
添加的
自定义字段,
后面的为刚才在表dede_full_search中
添加的字段(建议在表中
添加字段的时候写成跟你之前字定义的字段一样)这里最好写成一样,可以省去很多麻烦
三:打开/include/inc_arcsearch_view.
PHP,
搜索titlekeyword,找到如下
代码
分析下
代码SearchType
!= "
titlekeyword,
搜索类型为titilekeyword,即
前台搜索下拉框中的智能模糊
搜索,$kw
sqlarr[] = " ying_full_search.
title like '%$k%' ";为
搜索full_search表中的
title字段,好了,知道了这段
代码的作用,我们就知道该如何
添加自己的
搜索了下面把我的
代码作为例子
因为我的myskill
和Myexchange2个字段是一起的,
而mygoods
和Myexgoods是一起的,所以我用了2个if else语句
四:
修改搜索框
代码,
代码在哪我就不说了吧,大家都知道在哪,
搜索框原
代码为
这里只需
修改上面的
代码,
修改后的
代码为
五:还是打开/include/inc_arcsearch_view.
PHP,找到//处理一些特殊字段,把你之前的
自定义的字段
添加进去,这里还是以我的为例子在先面
添加
其实只要
添加 $row["myskill"] = $row["myskill"];(另外3个我就不写了,类似)就够了,但是我为什么要这样写呢,这样写的作用就是让你在
搜索结果页
调用的时候
显示关键子为红色
六:最后一步了,打开templets/default/search.htm,这里就是
搜索页
调用的模版,这里要
调用只要[field:你
自定义的字段/],还是以我的网站为例[field:myskill/],这样
调用就OK,但是要注意一点,假如你2个字段放一起
调用中间最好加个空格或者其他符号,假如[field:myskill/][field:mygoods/]这样连在一起是
显示不出来的好了,写的这么详细,相信大家应该看的懂吧,
虽然
有点复杂,不过有总比没有好,呵呵。