7-5-2009 11:27:17
Thực ra không phải ko search được mà là do môt lý do rất đơn giản khi bạn Add new module thì thuộc tính Searchable không được tích nên các thông tin bạn nhập mới vào sẽ không tự động đưa vào dữ liệu của chức năng search của DNN
Xin nhắc lại là các bạn phải Enable thuộc tính Searchable khi Definitions Module
và để module mà bạn phát triển có thể search được cần một điều quan trọng nữa là trong module đó bạn phải thực thi lớp ISearchable (Implements Entities.Modules.ISearchable)
Điều này chỉ xảy ra khi bạn add new module còn nếu bạn install module thì không vấn đề gì miễn là trong module của bạn phải Implements Entities.Modules.ISearchable
khi bạn Implements Entities.Modules.ISearchable thì cần phải có hàm GetSearchItems như vd sau đây:
Public Function GetSearchItems(ByVal ModInfo As Entities.Modules.ModuleInfo) As Services.Search.SearchItemInfoCollection Implements Entities.Modules.ISearchable.GetSearchItems
Dim SearchItemCollection As New SearchItemInfoCollection
Dim objController As New GSoft_Product_CategoryController
Dim colobjItem As ArrayList = objController.Category_List_By_ModuleID(ModInfo.ModuleID, Globalization.CultureInfo.CurrentCulture.Name)
Dim objItem As GSoft_Product_CategoryInfo
For Each objItem In colobjItem
Dim SearchItem As New Services.Search.SearchItemInfo
SearchItem.Title = ModInfo.ModuleTitle
SearchItem.ModuleId = ModInfo.ModuleID
With objItem
SearchItem.Description = .Name
SearchItem.Author = CType(.CreateByUser, Integer)
SearchItem.PubDate = .CreateDate
SearchItem.SearchItemId = .CatID
SearchItem.Content = .Name & " " & .Desc & " " & .ParentID
SearchItem.GUID = "ItemId=" & .CatID.ToString
SearchItem.SearchKey = .CatID.ToString
End With
SearchItemCollection.Add(SearchItem)
Next
Return SearchItemCollection
End Function
---
P/S: bài viết sưu tầm ở dotnetnuke.vn. Mong a-e cho thêm vài lời bình