模块 - 这是一个我们所有人都非常松散地使用的术语。
更清晰的定义
- 包 = Zip 文件(不是模块)
- 清单 = .DNN 文件
清单允许您将模块(查看/编辑/设置组)用户控件定义为单个安装包。
在 DNN 3.0 清单中,如果您仍然是这种格式,您会注意到一个基本的单个安装包的结构是这样的(简要)
<dotnetnuke version="3.0" type="Module">
<folders>
<folder>
<name>Side bar Navigation</name>
<modules>
<module>
<friendlyname></friendlyname>
<cachetime>0</cachetime>
<controls>
<control>
<title>View</title>
<src>DesktopModules/Module/View.ascx</src>
<type>View</type>
</control>
<control>
<key>Settings</key>
<title>Settings</title>
<src>DesktopModules/Module/Settings.ascx</src>
<type>Edit</type>
</control>
</controls>
</module>
</modules>
<files>
...
</files>
</folder>
</folders>
</dotnetnuke>
所以上面定义了安装包中的单个模块。
在博客的上下文中,您将有 2 个模块
- 博客显示模块(显示选定的博客或全部)
- 侧边栏导航模块(帮助您快速显示您撰写的任何时间的博客)
您可以做的是将清单中的博客显示模块打包到一个副本中 <folder></folder>
,然后将侧边栏导航模块打包到另一个<folder></folder>
结构副本中。
比如这个项目有7个模块;侧边栏导航,自定义搜索模块,等等等等
<dotnetnuke version="3.0" type="Module">
<folders>
<folder>...</folder>
<folder>...</folder>
<folder>...</folder>
<folder>...</folder>
<folder>...</folder>
<folder>...</folder>
<folder>...</folder>
</folders>
</dotnetnuke>
- 1 个安装包(即 1 个 Web 应用项目)
- 7 个模块
- 一个组件放入垃圾箱/
- 所有代码都是共享的,然后您可以从其他库引用继承以进一步开发。
他们有不同的观点、名字、友好的名字,但都有一个共同点<foldername>
关键在包装中。