二十四画生的Blog


        ——开始学习Orchard框架
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[DNN模块开发]分类链接模块V1.1

Posted on 2005-08-12 10:15  二十四画生  阅读(3142)  评论(3编辑  收藏  举报

关于分类链接模块介绍:
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 NullOR (GetDate() > m.StartDate)) AND ((m.EndDate Is NullOR (GetDate() < m.EndDate)))
 
AND (((t.StartDate Is NullOR (GetDate() > t.StartDate)) AND ((t.EndDate Is NullOR (GetDate() < t.EndDate)))
 
AND (sw.Word  like '%' + @Word+'%')  --修改的地方
 AND (t.IsDeleted = 0
 
AND (m.IsDeleted = 0
 
AND (t.PortalID = @PortalID)
GO

  还有些关于搜索的问题是由于DNN中的搜索机制不适应中国的文化引起的。以后将写文章详细介绍一下DNN的搜索原理,大家共同来寻求解决方式。

更多相关内容>>