2015-04-28 24 views
0

我一直在使用Telerik Sitefinity 7構建的網站,並且需要自定義SearchResults小部件,以便我可以篩選它選擇顯示的網頁的不同部分。我明白要做到這一點,我需要創建一個自定義小部件,但我很難找到文件後面的默認SearchResults代碼來將其模板化。有沒有人知道我在哪裏可以找到這個,並可能需要重寫什麼方法來完成這樣的任務(我知道搜索是其中之一,但沒有能夠通過在VS接口實現我失去了他們的名字或功能)?找不到SearchResults.cs模板Sitefinity 7

回答

0

我不知道這是否適用於Sitefinity 7.0,但希望這可以幫助一點:http://docs.sitefinity.com/for-developers-customize-search-results-by-overriding-the-searchresults-class

它看起來像你需要重寫SearchResults類裏(我認爲這是Telerik.Sitefinity找到。 Services.Search.Web.UI.Public),然後實現ISearchResultsBuilder接口,以實際返回您想要的搜索結果。我能夠使用對象瀏覽器來查看基本SearchResults類中的方法(但顯然不是它們的實現細節)。

曾經有一個SDK,但他們已經停止了它,並且從我的6.0 SDK中快速查看,它沒有包含SearchResults小部件的文件後面的代碼。

+0

我試圖使用該頁上的代碼,但我似乎無法找到ISearchResultsViewer的名稱空間。而實施到底是真正的神祕哈哈。 –

+0

啊,對不起:/在我的7.3 Sitefinity實例中,GetSearcher()方法實際上返回一個ISearcher對象(不是ISearchResultsBuilder,也許這是8.0的東西)。 ISearcher是SearchResults類中的一個接口。但不幸的是,沒有實現細節。如果你在他們的論壇上發帖,你可能會得到代碼隱藏(我自己還沒有任何經驗) – chrisg

0

這是在我們使用搜索小工具進行最後的覆蓋:

using Telerik.Sitefinity.Services; 
using Telerik.Sitefinity.Services.Search; 
using Telerik.Sitefinity.Services.Search.Configuration; 
using Telerik.Sitefinity.Services.Search.Data; 
using Telerik.Sitefinity.Services.Search.Web.UI.Public; 

這種覆蓋在7.0開始,現在是8

運行的同時我可能會建議使用JustDecompile其打開並運行在我的機器每天通過sitefnity DLL來查看