閱讀1120 返回首頁    go Siteserver CMS


實現高級搜索功能

本篇介紹如何通過stl:searchInput標簽實現高級搜索功能。

一、搜索URL參數

搜索頁是根據搜索頁麵地址(URL)來判斷並顯示搜索結果的,例如:https://www.bairongsoft.com/utils/search.html?word=%25E4%25BA%2592%25E8%2581%2594%25E7%25BD%2591。頁麵地址中不同的參數將顯示不同的顯示結果。

word參數代表需要搜索的內容,默認將搜索內容的標題、副標題、作者、來源等字段。為了在不同的編碼環境下均能顯示正確的結果,word參數會自動編碼,不經過編碼直接輸入也能夠顯示結果,例如:https://www.bairongsoft.com/utils/search.html?word=價值

type參數將定義需要搜索的類型,可以同時搜索多個字段,字段之間用“,”分隔。例如search.html?word=價值&type=Title,SubTitle,係統將僅搜索標題及副標題。默認搜索類型為標題、內容正文字段。

channelID參數定義搜索的欄目,例如:search.html?word=價值&channelID=33,係統將搜索欄目ID為33的欄目下的內容。如果需要搜索多個欄目可以通過“,”分隔。

date參數定義搜索最近幾天內添加或更新的內容,例如search.html?word=價值&date=7,係統將搜索最近7天添加或更新的內容。

除了指定最近更新的天數,也可以使用dateFrom及dateTo參數,係統將搜索從dateFrom指定的日期到dateTo指定的日期之間添加或更新的內容。例如:search.html?word=價值&dateFrom=2008-1-1&dateTo=2009-1-1,係統將搜索從08年1月1日到09年1月1日的新增或更新的內容。

除了已定義好的參數,您還可以自定義參數,如search.html?word=價值&attri=屬性,係統將搜索所有內容字段“attri”等於“屬性”的內容。

通過在stl:searchInput中添加對應ID的表單項,係統將能夠實現各種組合的高級搜索。

二、定製搜索框

stl:searchInput標簽默認顯示簡單的搜索框,如下圖:

可以設置width屬性定義搜索框的寬度,如

點擊“搜索”按鈕後係統將轉向到URL為?word=輸入內容,係統將對所有欄目下的內容進行搜索,搜索內容為標題、副標題、作者、來源等字段。

如果需要使用組合搜索,需要在stl:searchInput標簽內添加具體的搜索項,如下圖中單選框即為單獨添加的搜索項:

可以在stl:searchInput內組織任意的表單元素,如<input type="hidden" id="channelID" value="{Channel.ChannelID_新聞" />,代表係統將搜索欄目索引為“新聞”下的內容。類似,可以添加任意的表單元素到stl:searchInput中。

如果在stl:searchInput中包含id="channelID"的下拉列表,例如<select id="channelID"></select>,係統將把所有欄目顯示在下拉列表中供瀏覽者選擇。如果要在下拉列表中指定欄目,請在<select>內添加<option>元素。例如:

stl:searchInput 內必須包含id="submit"的<button>、<input>或<a>元素,如<input type="button" id="submit" value="搜 索" />,用於提交搜索表單。

詳細參數及注意事項請參考評論標簽stl:searchInput。


最後更新:2017-01-07 22:37:21

  上一篇:go 添加及修改內容
  下一篇:go 生成首頁