您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程
织梦dedecms自定义字段搜索功能实例
南春2023-10-21DedeCMS教程已有人查阅
导读之前看到很多人想要自定义字段搜索功能,官方又不给出,而我自己也正需要自定义字段搜索,于是就花了半天时间研究了下DEDE的搜索代码,终于研究出来了
之前看到很多人想要自定义字段搜索功能,官方又不给出,而我自己也正需要自定义字段搜索,于是就花了半天时间研究了下DEDE的搜索代码,终于研究出来了,现在分享给大家5.1版的还没用,原因是之前用5.0的改了很多东西,再升级成5.1量太大了,所以这次写个自定义字段搜索的教程也是适用5.0版,.5.1的也应该类似吧
好了,废话不多说了,具体操作如下
一:打开你的数据库,找到dede_full_search这个表,在里面把你自定义的字段添加进表,这里以我的网站为例,我添加了myskill,myexchange,mygoods,myexgoods,这4个字段
二:打开/member/article_add_action.php,找到”//更新全站搜索索引”,在下面的一段代码中插入刚才添加的4个字段,例:
三:打开/include/inc_arcsearch_view.php,搜索titlekeyword,找到如下代码
四:修改搜索框代码,代码在哪我就不说了吧,大家都知道在哪,搜索框原代码为
五:还是打开/include/inc_arcsearch_view.php,找到//处理一些特殊字段,把你之前的自定义的字段添加进去,这里还是以我的为例子
在先面添加
六:之后一步了,打开templets/default/search.htm,这里就是搜索页调用的模版,这里要调用只要[field:你自定义的字段/],还是以我的网站为例[field:myskill/],这样调用就OK,但是要注意一点,假如你2个字段放一起调用中间较好加个空格或者其他符号,假如[field:myskill/][field:mygoods/]这样连在一起是显示不出来的
好了,写的这么详细,相信大家应该看的懂吧,虽然有点复杂,不过有总比没有好,呵呵.
好了,废话不多说了,具体操作如下
一:打开你的数据库,找到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,找到如下代码
if($this->SearchType != “titlekeyword”){
$kwsqlarr[] = ” dede_full_search.title like ‘%$k%’ “;
}else{
$kwsqlarr[] = ” dede_full_search.title like ‘%$k%’ “;
$kwsqlarr[] = ” dede_full_search.addinfos like ‘%$k%’ “;
$kwsqlarr[] = ” dede_full_search.keywords like ‘%$k%’ “;
}
分析下代码SearchType != “titlekeyword,搜索类型为titilekeyword,即前台搜索下拉框中的智能模糊搜索,$kwsqlarr[] = ” dede_full_search.title like ‘%$k%’ “;为搜索full_search表中的title字段,好了,知道了这段代码的作用,我们就知道该如何添加自己的搜索了下面把我的代码作为例子
if($this->SearchType != “skill”){
$kwsqlarr[] = ” dede_full_search.myskill like ‘%$k%’ “;
$kwsqlarr[] = ” dede_full_search.myexchange like ‘%$k%’ “;
}else{
$kwsqlarr[] = ” dede_full_search.myexchange like ‘%$k%’ “;
$kwsqlarr[] = ” dede_full_search.myskill like ‘%$k%’ “;
}
if($this->SearchType != “goods”){
$kwsqlarr[] = ” dede_full_search.mygoods like ‘%$k%’ “;
$kwsqlarr[] = ” dede_full_search.myexchange like ‘%$k%’ “;
}else{
$kwsqlarr[] = ” dede_full_search.myexchange like ‘%$k%’ “;
$kwsqlarr[] = ” dede_full_search.mygoods like ‘%$k%’ “;
}
因为我的myskill和myexchange2个字段是一起的,而 mygoods和myexgoods是一起的,所以我用了2个if else语句四:修改搜索框代码,代码在哪我就不说了吧,大家都知道在哪,搜索框原代码为
<select name=”searchtype” id=”searchtype”>
<option value=”titlekeyword” selected>智能模糊搜索</option>
<option value=”title”>仅搜索标题</option>
</select>
这里只需修改上面的代码,修改后的代码为
<select name=”searchtype” id=”searchtype”>
<option value=”skill” selected>搜技能</option>
<option value=”goods”>搜物品</option>
</select>
value=”",这填的是第三步中添加的SearchType后面的,即搜索类型,这个你自己定义五:还是打开/include/inc_arcsearch_view.php,找到//处理一些特殊字段,把你之前的自定义的字段添加进去,这里还是以我的为例子
在先面添加
$row[”myskill”] = $this->GetRedKeyWord(cn_substr($row[”myskill”],$infolen));
$row[”myexchange”] = $this->GetRedKeyWord(cn_substr($row[”myexchange”],$infolen));
$row[”mygoods”] = $this->GetRedKeyWord(cn_substr($row[”mygoods”],$infolen));
$row[”myexgoods”] = $this->GetRedKeyWord(cn_substr($row[”myexgoods”],$infolen));
其实只要添加 $row[”myskill”] = $row[”myskill”];(另外3个我就不写了,类似)就够了,但是我为什么要这样写呢,这样写的作用就是让你在搜索结果页调用的时候显示关键子为红色六:之后一步了,打开templets/default/search.htm,这里就是搜索页调用的模版,这里要调用只要[field:你自定义的字段/],还是以我的网站为例[field:myskill/],这样调用就OK,但是要注意一点,假如你2个字段放一起调用中间较好加个空格或者其他符号,假如[field:myskill/][field:mygoods/]这样连在一起是显示不出来的
好了,写的这么详细,相信大家应该看的懂吧,虽然有点复杂,不过有总比没有好,呵呵.
本文标签:
很赞哦! ()
相关教程
图文教程
dede织梦生成文章是空白页面怎么办
有很多朋友本来正常的网站突然会出现这样的问题解决方案:1、 出现这样的问题有可能是空间的读写权限,先确认一下你的空间是不是拥有读写权限2、更改php文件找
dedecms网站地图生成目录的修改方法
使用过DEDECMS的站长朋友都知道,DEDECMS默认生成的rss地图以及网站地图等都是生成在DATA的文件夹中,但是这个是一个非常重要的文件夹
dedecms织梦修改软件类型标签等数据默认不能修改怎么办
关于增加和修改软件类型的方法:修改的两个模板文件如下1、\dede\templets\soft_add.htm2、\dede\templets\soft_edit.htm
织梦标签TAG标签调用和参数说明示例
大家根据单词的意思就知道调用tag标签的意思了,这些参数可以根据自己的需要进行替换参数。
相关源码
-
(自适应响应式)英文外贸医疗科研耗材设备pbootcms网站模板为医疗设备和外贸企业设计的响应式网站模板,基于PbootCMS系统开发。突出医疗产品认证展示和国际化特性,通过专业化的产品参数展示模块和文档管理系统,满足医疗行业严格的信息披露要求。查看源码 -
(PC+WAP)化工材料企业环保能源绿色营销型pbootcms模板源码下载本模板为化工材料及环保能源企业设计,采用PbootCMS开发,可展示各类化工产品、环保技术及能源解决方案。查看源码 -
(自适应响应式)运动健身瑜伽俱乐部网站pbootcms源码下载为健身瑜伽俱乐部设计的响应式网站模板,采用PbootCMS内核开发,可快速搭建专业级企业官网。模板默认适配运动健身行业视觉风格,用户可通过替换图文内容灵活应用于其他服务行业。查看源码 -
帝国cms7.5个人博客资讯文章模板下载本模板简洁个人博客网站设计开发,采用帝国CMS内核构建,只需替换文字图片即可快速搭建专业网站。自适应手机端设计,数据实时同步,操作简单便捷。PHP程序确保安全稳定运行,帮助您以较低成本获取持续业务。查看源码 -
(PC+WAP)院校学院职业学校机构协会网站开源源码下载本模板基于PbootCMS系统开发,为高等院校、职业学校等教育机构设计,特别适合展示学校概况、院系设置、招生信息等内容。采用双端适配技术,确保在PC和移动设备上都能获得良好的浏览体验。查看源码 -
(自适应)包装机贴标机设备网站源码免费下载基于PbootCMS内核开发的响应式企业模板,为包装机械、贴标设备等工业领域打造,通过数字化展示提升企业专业形象。查看源码
| 分享笔记 (共有 篇笔记) |
