首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

DedeCMS 搜索功能增強:多關鍵詞與指定欄目搜索實現方案

     編輯:PHP 綜合知識

問題背景

因對 PHP 理解有限,初期採用了較繁瑣的方式實現搜索功能。實際上 DedeCMS 內建支持直接調用全部分類,並可按關鍵詞匹配度排序輸出。本文分享一套經實測可行的搜索增強方案,涵蓋多關鍵詞搜索與指定欄目篩選。

核心表單代碼

<input type="hidden" name="kwtype" value="0"> 
<input type="hidden" name="channeltype" value="1"> 
<input name="keyword" id="search-keyword" type="text">

關鍵參數解析

  • kwtype(關鍵詞類型):value="0" 必須設置,若設為 1 會報錯
    • 1:搜索關鍵詞或相關文章
    • 0:搜索關鍵詞及其相關文章(推薦)
  • channeltype(頻道類型):value="1" 定義搜索欄目範圍

欄目下拉選單實現

<select name='typeid' id='typeid' class="select">
<option value='titlekeyword' selected='1'>--不限欄目--</option>
{dede:channelartlist row='950' typeid='3,376,375,218,229,383,18,360,366,93,60,16,66,109,103,82,23,118,50,72,4,29,41,211,204,197,355,242,190,181,174,171,163,154,147,138,130,86,273,228,227'}
<option value="{dede:field name='typeid'/}">--{dede:field name='typename'/}</option>
{/dede:channelartlist}
</select>

關鍵點說明

  • name='typeid':按欄目 ID 搜索的核心字段
  • value='titlekeyword' selected='1':啟用智能搜索模式(標題+關鍵詞)
  • {dede:channelartlist}:循環輸出指定欄目選項,typeid 屬性列出需包含的欄目 ID 列表

將上述代碼集成到搜索表單中,即可實現多關鍵詞匹配與指定欄目篩選的組合搜索功能。經實測,搜索結果可按關鍵詞接近程度智能排序,滿足大多數內容型站點的搜索需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved