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

首頁 > CMS > 織夢DEDE > 正文

織夢CMS自定義字段搜索方法

2024-07-09 22:51:51
字體:
來源:轉載
供稿:網友

一:打開數據庫,找到dede_full_search這個表,在里面把自定義的字段添加進表

二:打開/member/article_add_action.php,找到”//更新全站搜索索引”,在下面的一段代碼中插入剛才添加的4個字段,例:“’myskill’=>$myskill,’myexchange’=>$myexchange,’mygoods’=>$mygoods,’myexgoods’=>$myexgoods”,這里說明一下,前面的’myskill’為你發布文章時添加的自定義字段,后面的為剛才在表dede_full_search中添加的字段(建議在表中添加字段的時候寫成跟你之前字定義的字段一樣)這里最好寫成一樣,可以省去很多麻煩

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

  1. Copy code
  2. if($this->SearchType != “titlekeyword”){
  3. $kwsqlarr[] = ” dede_full_search.title like ‘%$k%’ “;
  4. }else{
  5. $kwsqlarr[] = ” dede_full_search.title like ‘%$k%’ “;
  6. $kwsqlarr[] = ” dede_full_search.addinfos like ‘%$k%’ “;
  7. $kwsqlarr[] = ” dede_full_search.keywords like ‘%$k%’ “;
  8. }

分析下代碼SearchType != “titlekeyword,搜索類型為titilekeyword,即前臺搜索下拉框中的智能模糊搜索,$kwsqlarr[] = ” dede_full_search.title like ‘%$k%’ “;為搜索full_search表中的title字段,好了,知道了這段代碼的作用,就知道該如何添加自己的搜索了下面把我的代碼作為例子

  1. Copy code
  2. if($this->SearchType != “skill”){
  3. $kwsqlarr[] = ” dede_full_search.myskill like ‘%$k%’ “;
  4. $kwsqlarr[] = ” dede_full_search.myexchange like ‘%$k%’ “;              
  5. }else{              
  6. $kwsqlarr[] = ” dede_full_search.myexchange like ‘%$k%’ “;
  7. $kwsqlarr[] = ” dede_full_search.myskill like ‘%$k%’ “;
  8. }
  9. if($this->SearchType != “goods”){
  10. $kwsqlarr[] = ” dede_full_search.mygoods like ‘%$k%’ “;  
  11. $kwsqlarr[] = ” dede_full_search.myexchange like ‘%$k%’ “;          
  12. }else{              
  13. $kwsqlarr[] = ” dede_full_search.myexchange like ‘%$k%’ “;
  14. $kwsqlarr[] = ” dede_full_search.mygoods like ‘%$k%’ “;  
  15. }

,因為我的myskill和myexchange2個字段是一起的,而mygoods和myexgoods是一起的,所以我用了2個if else語句

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

  1. Copy code
  2. <select name=”searchtype” id=”searchtype”>
  3. <option value=”titlekeyword” selected>智能模糊搜索</option>
  4. <option value=”title”>僅搜索標題</option>
  5. </select>

這里只需修改上面的代碼,修改后的代碼為

Copy code
<select name=”searchtype” id=”searchtype”>
<option value=”skill” selected>搜技能</option>
<option value=”goods”>搜物品</option>
</select>

value=”",這填的是第三步中添加的SearchType后面的,即搜索類型,這個你自己定義

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

在先面添加

  1. Copy code
  2. $row[”myskill”] = $this->GetRedKeyWord(cn_substr($row[”myskill”],$infolen));
  3. $row[”myexchange”] = $this->GetRedKeyWord(cn_substr($row[”myexchange”],$infolen));
  4. $row[”mygoods”] = $this->GetRedKeyWord(cn_substr($row[”mygoods”],$infolen));
  5. $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/]這樣連在一起是顯示不出來的

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景德镇市| 台中市| 丰台区| 璧山县| 乡城县| 辉县市| 甘德县| 婺源县| 河源市| 山东| 喀喇沁旗| 麻栗坡县| 宁晋县| 喀什市| 西畴县| 法库县| 镇赉县| 双江| 通道| 珠海市| 河北区| 景泰县| 龙江县| 福清市| 富川| 左云县| 清新县| 开化县| 景宁| 宜君县| 德格县| 外汇| 河津市| 神池县| 彩票| 余江县| 康平县| 濉溪县| 四川省| 遵化市| 新营市|