主页 > 网站建设 > 建站知识 > dede搜索一些使用心得

dede搜索一些使用心得

POST TIME:2017-10-26 20:10

1站内搜索增加个仅搜索当前频道功能
其实自己有搜索框加一个栏目选择的项就行了,系统不必要自动去生成
高级搜索里可选的条件,你全都可以用
Quote:
<select name="channeltype" id="channeltype" style="width:100">
<option value="0" selected>--不限--</option>
<option value='4'>Flash</option>
<option value='3'>软件</option>
<option value='2'>图片集</option>
<option value='1'>普通文章</option>
</select>

如果不想用户选择,你直接加
<input type='hidden' name='channeltype' value="{dede:field name='channeltype'/}">
这样也行

2
最新5.1随便搜索一串数字出错
提示信息如下:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 

version for the right syntax to use near ') limit 500' at line 1 - Execute Query False! 

Select aid from dede_full_search where arcrank > -1 and () limit 500
因搜索未过滤html标签,导致用户可以在搜索出注入html代码,该补丁修改该问题和utf-8版tag标签找不

到以及部分用户尾部丢0的问题

覆盖补丁后请在后台 内容维护 搜索关键词管理 处删除不正常的关键词。
解决方法:官方已经出补丁了
下载补丁包下载地址(GBK/UTF8请按版本选择里面的文件)
http://www.dedecms.com/upimg/soft/2008/patch20080407.zip
非5.1版请修改 plus/search.php文件
把Copy code$keyword = ereg_replace("[\|\"\r\n\t%\*\?\(\)\$;,'%-]"," ",trim($keyword));
替换为Copy code$keyword = ereg_replace("[\|\"\r\n\t%\*\?\(\)\$;,'%<>]"," ",trim($keyword));

3

文章关键字自动对应搜索的办法
{dede:field name='keywords' runphp='yes' }
if(!empty(@me)){
$kws = explode(' ',@me);
@me = "";
foreach($kws as $k){
@me .= "<a href='/cms/plus/search.php?keyword=".urlencode($k)."' >$k</a> ";
}
@me= str_replace('+', ' ',trim(@me));
}


收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266