對于綜合性站點來說,因為欄目過多,而訪客關注的內容可能不同,比如有的網站是門戶網站,里面分不同的城市,而不同城市的訪客,可能只想搜索自己城市的新聞內容,對于這個就需要對搜索功能進行定制。
首先我們看看怎么對DEDE的搜索功能進行指定欄目或者頻道
在搜索結果頁添加:
<input type="hidden" name="typeid" value="1,4″ />
value="1,4″就是你要指定的一個或多個欄目,多個欄目用,號隔開。
例如:
1 | <form name="formsearch" action="{dede:global.cfg_cmsurl/}/plus/search.php"> |
4 | <input type="hidden" name="kwtype" value="0″ /> |
5 | <input type="hidden" name="typeid" value="1,4″ /> |
6 | <input name="q" type="text" class="search-keyword" id="search-keyword" value="在這里搜索…" onfocus="if(this.value=='在這里搜索…'){this.value=";}" onblur="if(this.value=="){this.value='在這里搜索…';}" /> |
7 | <button type="submit" class="search-submit">搜索</button> |
|
知道了這個原理,那接下來我們就可以制定對全站所有欄目進行調用,讓訪客可以自己選擇要搜索哪個欄目
生成欄目列表供訪客選擇,完整代碼如下

01 | <form action="{dede:field name='phpurl'/}/search.php" name="formsearch"> |
04 | <input type="hidden" name="kwtype" value="0" /> |
05 | <input type="hidden" name="searchtype" value="titlekeyword" /> |
06 | <input name="keyword" type="text" class="search-keyword" id="search-keyword" /> |
07 | <select name="typeid" class="search-option" id="typeid"> |
08 | <option value='0' selected='1'>全部欄目</option> |
09 | {dede:channelartlist typeid='top' } |
10 | {dede:type} <option value='[field:id/]'>[field:typename/]</option>{/dede:type} |
11 | {dede:channel type='son' noself='yes'} |
12 | <option value='[field:id/]'>-[field:typename/]</option> |
15 | </select><button type="submit" class="search-submit">搜索</button> |
|
?