国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

dede 自定義字段搜索方法

2024-07-12 08:28:11
字體:
供稿:網(wǎng)友

之前看到很多人想要自定義字段搜索功能,官方又不給出,而我自己也正需要自定義字段搜索,于是就花了半天時(shí)間研究了下DEDE的搜索代碼,終于研究出來了,現(xiàn)在分享給大家
5.1版的還沒用,原因是之前用5.0的改了很多東西,再升級成5.1量太大了,所以這次寫個(gè)自定義字段搜索的教程也是適用5.0版,.5.1的也應(yīng)該類似吧
好了,廢話不多說了,具體操作如下

    一:打開你的數(shù)據(jù)庫,找到dede_full_search這個(gè)表,在里面把你自定義的字段添加進(jìn)表,這里以我的網(wǎng)站為例,我添加了myskill,myexchange,mygoods,myexgoods,這4個(gè)字段

    二:打開/member/article_add_action.,找到”//更新全站搜索索引”,在下面的一段代碼中插入剛才添加的4個(gè)字段,例:“’myskill’=>$myskill,’myexchange’=>$myexchange,’mygoods’=>$mygoods,’myexgoods’=>$myexgoods”,這里說明一下,前面的’myskill’為你發(fā)布文章時(shí)添加的自定義字段,后面的為剛才在表dede_full_search中添加的字段(建議在表中添加字段的時(shí)候?qū)懗筛阒白侄x的字段一樣)這里最好寫成一樣,可以省去很多麻煩

    三:打開/include/inc_arcsearch_view.php,搜索titlekeyword,找到如下代碼
Copy code

    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字段,好了,知道了這段代碼的作用,我們就知道該如何添加自己的搜索了下面把我的代碼作為例子
Copy code

    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%’ “;  
              
                }

,因?yàn)槲业膍yskill和myexchange2個(gè)字段是一起的,而mygoods和myexgoods是一起的,所以我用了2個(gè)if else語句

    四:修改搜索框代碼,代碼在哪我就不說了吧,大家都知道在哪,搜索框原代碼為
Copy code

    <select name=”searchtype” id=”searchtype”>
            <option value=”titlekeyword” selected>智能模糊搜索</option>
            <option value=”title”>僅搜索標(biāo)題</option>
          </select>
    這里只需修改上面的代碼,修改后的代碼為
Copy code

    <select name=”searchtype” id=”searchtype”>
            <option value=”skill” selected>搜技能</option>
            <option value=”goods”>搜物品</option>
          </select>
value=”",這填的是第三步中添加的SearchType后面的,即搜索類型,這個(gè)你自己定義

    五:還是打開/include/inc_arcsearch_view.php,找到//處理一些特殊字段,把你之前的自定義的字段添加進(jìn)去,這里還是以我的為例子
在先面添加
Copy code

    $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));
    其實(shí)只要添加  $row[”myskill”] = $row[”myskill”];(另外3個(gè)我就不寫了,類似)就夠了,但是我為什么要這樣寫呢,這樣寫的作用就是讓你在搜索結(jié)果頁調(diào)用的時(shí)候顯示關(guān)鍵子為紅色

    六:最后一步了,打開templets/default/search.htm,這里就是搜索頁調(diào)用的模版,這里要調(diào)用只要[field:你自定義的字段/],還是以我的網(wǎng)站為例[field:myskill/],這樣調(diào)用就OK,但是要注意一點(diǎn),假如你2個(gè)字段放一起調(diào)用中間最好加個(gè)空格或者其他符號,假如[field:myskill/][field:mygoods/]這樣連在一起是顯示不出來的
好了,寫的這么詳細(xì),相信大家應(yīng)該看的懂吧,雖然有點(diǎn)復(fù)雜,不過有總比沒有好,呵呵.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄梅县| 宁陵县| 北安市| 定陶县| 米林县| 三江| 连江县| 龙井市| 罗江县| 临海市| 康定县| 金湖县| 奉化市| 惠州市| 出国| 西贡区| 新河县| 应用必备| 海宁市| 柳河县| 南宫市| 犍为县| 西华县| 惠来县| 志丹县| 南华县| 白水县| 荥阳市| 安西县| 象山县| 县级市| 泰和县| 贵南县| 陈巴尔虎旗| 江口县| 天全县| 沾益县| 德州市| 安图县| 牟定县| 长沙县|