常用模块特性
主题和容器
虽然传统上不认为是模块开发的一部分,但主题和容器定义了模块如何在页面上显示。理解这些元素之间的关系将帮助您构建与页面上的其他内容很好地配合的模块。
主题定义了DNN中页面的外观和感觉,模块应该设计成与各种各样的样式一起工作。通过窗格的放置,主题定义了模块在网页上的位置。
提示:如果您选择定义特定于模块的样式,请在根元素中指定样式的作用域(通常为a
< div >
将您的整个标记)包装在您的模块中。这可以确保您的样式比主题中定义的样式更具体。DNN在页面中的每个模块周围包装了一个容器。除了定义页面上内容块的外观之外,容器还提供了管理模块的UI元素,比如模块标题、模块操作菜单和操作链接。
模块操作菜单
模块操作菜单提供标准功能,如模块删除、打印、内容导入/导出和内容放置。菜单项是根据模块特性和站点设置动态创建的。

您可以自定义模块动作菜单通过在你的模块中实现以下特性:
- 提供到帮助页清单的链接以更改帮助菜单中的链接。
- 实现IPortable界面显示进口而且出口菜单中的链接。注意:的IPortable当创建或使用页面/门户模板时,DNN也会使用接口。
- 实现ISearchable界面显示辛迪加菜单中的链接。注意:管理员必须在模块设置中启用Syndicate特性。
- 实现IActionable显示自定义菜单项的界面。注意:自定义菜单项包含在铅笔图标菜单中。如果IActionable未实现,则不显示铅笔图标。
模块设置
DNN包括Host、Portal、Tab、TabModule和Module实体的设置对象。为了简化模块开发,DNN管理这些设置的存储和检索。您可能需要访问这些公共设置,以确定要启用模块的哪些特性。
您还可以创建自定义设置和相关的UI来管理这些自定义设置。

包装
模块必须以标准格式打包,以便与其他DNN网站共享。DNN包本质上是包含自定义DNN清单的.zip文件。清单是一个带有.dnn扩展;它定义了如何安装模块的组件。
你可以将模块捆绑到包中:
- 手动,
- 通过使用模块打包向导,该向导可通过模块的创造者或者是扩展页面,或者
- 通过使用标准模块模板附带的构建脚本。
安全
DNN提供了一个基于角色的访问控制系统,在站点级、页面级和模块级提供粒度控制。您可以扩展这个系统,以增加模块级别权限设置的粒度。

模块还可以调用DNN安全api,在启用安全功能之前检查用户的当前权限。