• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    Dede织梦模板中搜索功能的修改与用法技巧
    POST TIME:2018-09-02 13:02

    Dedecms5.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的问题
    覆盖补丁后请在后台 内容维护 搜索关键词管理 处删除不正常的关键词。
    解决方法:官方已经出补丁了
    非5.1版请修改 plus/search.php文件
    把Copy code$keyword = ereg_replace(”[|"rnt%*?()$;,'%-]“,” “,trim($keyword));
    替换为Copy code$keyword = ereg_replace(”[|"rnt%*?()$;,'%<>]“,” “,trim($keyword));
    2 提高DEDE搜索功能准确度的方法
    请原来的模板的
    <form action=”{dede:field name=’phpurl’/}/search.php” name=”formsearch”>
    <input type=”hidden” name=”kwtype” value=”0″>
    改成
    <form action=”{dede:field name=’phpurl’/}/search.php” name=”formsearch”>
    <input type=”hidden” name=”kwtype” value=”1″>
    即0改成1
    采用“仅搜索标题”的搜索方式,
    <option value=”title” selected>搜索标题</option> 可将这个设为默认,或者干脆删除下面的智能模糊,那个太不准。
    <option value=”titlekeyword”>智能搜索</option>
    高级搜索中,可以将模板中的“与”改成默认
    <input type=”radio” name=”kwtype” value=”1″ checked=”checked”/>

    <input name=”kwtype” type=”radio” value=”0″ />

    “与”应该就是value=”1″的意思,下面的同样采用“仅搜索标题”的方式
    总的说来就是“与”(value=”1″)+“仅搜索标题”=准确
    3 站内搜索增加个仅搜索当前频道功能
    其实自己有搜索框加一个栏目选择的项就行了,系统不必要自动去生成高级搜索里可选的条件,你全都可以用
    <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’/}”>
    这样也行
    4 如何设置让搜索条可以搜一个汉字
    需要修改2个地方
    /plus/search.php
    if($keyword==”"||strlen($keyword)<1){
    ShowMsg(”关键字不能小于1个字节!”,”-1″);
    exit();
    }
    /include/inc_arcsearch_view.php
    codeif(strlen($k)<2) continue;
    5 文章关键字自动对应搜索的办法
    {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));
    }


    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!