DotNetNuke(简称DNN)是建立在微软ASP.NET2.0平台之上的可扩展的内容管理系统,可广泛应用于创建与维护专业的Web应用程序,如商务网站、企业网站以及在线内容发布网站。DNN可以使用一个数据库,一套源程序,通过一个host账号创建和管理多个门户网站。DNN创建的网站主要由皮肤、容器和模块组成。皮肤在DNN体系结构中处在表示层,皮肤主要应用于网站的整体风格,DNN皮肤包括页面皮肤和容器皮肤,皮肤有HTML和ASP.NET两种创建方式,本文采用的是ASP.NET方式创建皮肤,通过对皮肤的制作,用户很容易地更换网站外观。本文的目标是研究设计一种的皮肤方法,并以一个实例说明此方法,最后把此皮肤应用到一个实际的网站中达到了设计的目的。
关键词:DNN;DNN皮肤;DNN容器
..............
DNN皮肤的制作
DNN创建的网站主要由皮肤、容器和模块组成。皮肤在网站中起到了重要的作用,网站创建者可以通过设计不同的皮肤来更换网站外观的功能。
2.1 DNN皮肤需求分析
现在绝大多数网站版面固定,满足不了随意改变外观的要求,DNN功能是非常强大,DNN皮肤可以让用户制作自己想要的版面,目前国内学习这方面知识的人越来越多,在未来它的发展空间是很广泛的。皮肤系统是指应用程序能够通过其设置而改变外观的能力。这种能力将应用程序的逻辑和用户界面或使用的对象分离开。DotNetNuke Portal使用模板来达到实施皮肤系统的目的,使用模板使设计者能够将应用程序的外观和布局属性同将内容显示给用户所需要的应用程序逻辑分开。设计者为实现这个功能研究了很多不同的方法,最终,他们开发出了一个皮肤解决方案,此解决方案实现了在创建DotNetNuke Portal站点时让网页设计师和程序工程师独立工作。由此,他们可以更快地部署DotNetNuke Portal门户网站,更重要的是,通过实现功能完备的门户网站和建设目标而降低了相关费用。
2.2 DNN皮肤制作方式
设计者可以用.ascx或.html文件创建皮肤方案。创建哪种类型的皮肤方案取决于自己选择的编辑器以及你选择遵循的规则。允许设计者创建HTML或ASP.NET类型的皮肤方案是皮肤系统的刻意设计,可以为皮肤方案的创建提供最大的灵活性并帮助建立起页面设计师和程序工程师之间的协作桥梁。DotNetNuke Portal的核心开发团队认识到,基于HTML的开发人员多于ASP.NET的开发人员,因此允许使用HTML创建皮肤方案可以使更多的人利用DotNetNuke Portal的皮肤系统功能而不需要学习新的技术,当然,学习如何将token放置在设计者的皮肤方案设计中除外。简单来说,DNN皮肤就是网站的外观,通过皮肤技术,设计者很容易地为更换网站外观。一个网站可以使用多个,甚至多套皮肤,每个网页都可以对应一个皮肤,这个皮肤可以是来自主机或站点的多套皮肤[1]。
DNN皮肤的制作两种方式:
(1)使用 ASP.NET的 use control(用户控件)制作后缀名位 .ascx 的
文件,这种方式适合熟悉ASP.NET的程式人员,有了Skin.ascx、Skin.css、Skin.jpg这三个文件就算是一个完整的皮肤。
(2)使用 HTML 文件,也就是设计好一个 HTML 文档,然后将 skin
object 放在合适的位置,并将网站系统所需要的资讯定义在另一个xml文件。有了Skin.htm、Skin.xml、Skin.css、Skin.jpg这四个文件就算是一个完整的皮肤。本文采用的是.ascx文件的皮肤方案。
2.3设置DNN皮肤开发环境
为了简化皮肤的开发并加快后续打包的速度,设计者可以按如下的文件结
构组成文件[1]:\Skins
\SkinName ( 将要开发的皮肤包的自定义名称 )
… ( 这里放要发布的皮肤包的zip文件)
\containers
… ( 与容器相关的所有资源文件 )
\skins
… ( 与皮肤有关的所有文件 )
这为开发皮肤方案提供了一个很容易的目录结构,将会发现此结构将帮助简化为部署和安装皮肤到门户而创建软件包时的准备工作。在设计皮肤方案时,皮肤系统有具有的自由形式的本质将为设计者提供一定程度的创作自由。网页设计师也许会以纯图形的方式创建网站的设计草稿,并在设计成熟后以切割图形的方式来满足需求。但网页设计师在设计皮肤时需要知道的一件事是任何皮肤都必须包括用户界面元素,它们可能是静态的元素如图片和文字,也可能是活动的元素如登录链接、导航和菜单系统、以及其它DotNetNuke Portal需要的皮肤元素。
.........
? DNN默认皮肤应用OS网站时在后台界面