关于分类链接模块介绍:
http://www.cnblogs.com/esshs/archive/2005/07/28/202252.html
最近对分类链接模块做了一些改进:
1、实现了搜索接口功能,效果如图:
2、修正了彻底删除模块(在回收站中删除)时会引起“约束 'FK_CLinks_Modules' 冲突”的问题。
下载地址:
超级分类模块:SuperCategories PA Beta 1.zip
分类链接模块:CLinks PA V1.1.zip
安装步骤:(如果首次安装需要先安装超级分类模块,安装步骤同下)
1、host身份登录,进入主机管理->模块定义。
2、点击“上传新模块”,进入文件上传界面。
3、选择要安装的模块压缩包,点击“添加”,再点击“上传文件”即可。
更新安装同上
关于DNN中搜索功能不太好用的问题,可将GetSearchResults存储过程修改如下:
CREATE procedure dbo.GetSearchResults
@PortalID int,
@Word nVarChar(100)
AS
SELECT si.SearchItemID,
sw.Word,
siw.Occurrences,
siw.Occurrences + 1000 as Relevance,
m.ModuleID,
tm.TabID,
si.Title,
si.Description,
si.Author,
si.PubDate,
si.SearchKey,
si.Guid,
si.ImageFileId,
u.FirstName + ' ' + u.LastName As AuthorName
FROM SearchWord sw
INNER JOIN SearchItemWord siw ON sw.SearchWordsID = siw.SearchWordsID
INNER JOIN SearchItem si ON siw.SearchItemID = si.SearchItemID
INNER JOIN Modules m ON si.ModuleId = m.ModuleID
LEFT OUTER JOIN TabModules tm ON si.ModuleId = tm.ModuleID
INNER JOIN Tabs t ON tm.TabID = t.TabID
LEFT OUTER JOIN Users u ON si.Author = u.UserID
WHERE
(((m.StartDate Is Null) OR (GetDate() > m.StartDate)) AND ((m.EndDate Is Null) OR (GetDate() < m.EndDate)))
AND (((t.StartDate Is Null) OR (GetDate() > t.StartDate)) AND ((t.EndDate Is Null) OR (GetDate() < t.EndDate)))
AND (sw.Word like '%' + @Word+'%') --修改的地方
AND (t.IsDeleted = 0)
AND (m.IsDeleted = 0)
AND (t.PortalID = @PortalID)
GO
@PortalID int,
@Word nVarChar(100)
AS
SELECT si.SearchItemID,
sw.Word,
siw.Occurrences,
siw.Occurrences + 1000 as Relevance,
m.ModuleID,
tm.TabID,
si.Title,
si.Description,
si.Author,
si.PubDate,
si.SearchKey,
si.Guid,
si.ImageFileId,
u.FirstName + ' ' + u.LastName As AuthorName
FROM SearchWord sw
INNER JOIN SearchItemWord siw ON sw.SearchWordsID = siw.SearchWordsID
INNER JOIN SearchItem si ON siw.SearchItemID = si.SearchItemID
INNER JOIN Modules m ON si.ModuleId = m.ModuleID
LEFT OUTER JOIN TabModules tm ON si.ModuleId = tm.ModuleID
INNER JOIN Tabs t ON tm.TabID = t.TabID
LEFT OUTER JOIN Users u ON si.Author = u.UserID
WHERE
(((m.StartDate Is Null) OR (GetDate() > m.StartDate)) AND ((m.EndDate Is Null) OR (GetDate() < m.EndDate)))
AND (((t.StartDate Is Null) OR (GetDate() > t.StartDate)) AND ((t.EndDate Is Null) OR (GetDate() < t.EndDate)))
AND (sw.Word like '%' + @Word+'%') --修改的地方
AND (t.IsDeleted = 0)
AND (m.IsDeleted = 0)
AND (t.PortalID = @PortalID)
GO
还有些关于搜索的问题是由于DNN中的搜索机制不适应中国的文化引起的。以后将写文章详细介绍一下DNN的搜索原理,大家共同来寻求解决方式。
更多相关内容>>
==========================================
作者:二十四画生
转载请注明来源于博客园——二十四画生的Blog,并保留有原文链接。