可定制门户网站开发研究
王磊
摘要:针对门户网站增加栏目,更新版面困难的问题,提出了利用数据库描述网站架构,通过后台管理,可以在不影响网站运行的情况下,实现对网页栏目的变更和版面的更新。
关键词:可定制;数据库;门户网站
1引言
对于一个门户网站,除了要定期更新其内容外,还经常面临着增加栏目,更新版面等问题,而这些问题的解决往往需要专业的网站开发人员来完成。而对于一般的单位,门户网站的管理人员都不是专业的技术人员,当遇到这类的问题时,只能求助于当初开发门户网站的公司,重新提需求,进行二次开发。这样,一方面增加了成本,另一方面也会因为开发周期等问题而影响门户网站的正常使用。针对以上问题,结合我们学院可定制门户网站的开发,尝试在不影响系统应用的前提下,快速高效地定制门户网站。
2门户网站分析
通过对互联网中一些门户网站的调查,对于一般的门户网站,大多的网站页面由以下几部分构成:顶端是Logo,Logo的下面一般都有一个菜单,底部为版权、备案和联系方式等信息,中间是网页内容的呈现部分。
中间部分是一个网页的核心部分,一般由两部分或三部分组成。无论是两部分还是三部分,最大的部分主要显示两类内容:一是分成几块,按信息发布时间显示各类信息的列表;二是显示某个信息的详细内容。而相对较小的部分一般用来显示以下几类内容:一是整个网站的信息或某类信息按时间排序的列表;二是整个网站的信息或某类信息按点击排行的列表;三是一些图片或文字链接。如图1所示,显示了一个普通的门户网站的结构。
3可定制门户网站的数据库设计
根据对门户网站的分析,总结其布局特点和网页呈现方式,形成了可定制门户网站的数据库。数据库由页面总体框架表(PageFrame)、中间部分详细设计表(PageDetail)、页面附加信息表(PageAdditional)、菜单表(PageMenu)和菜单详细信息表(PageMenuItem)五个表组成。
3.1PageFrame表
PageFrame表记录了门户网站中所有页面的布局参数,包括以下信息:(1)每个网页的标题、宽度、背景、字体;(2)顶端的Logo图片地址及其高度;(3)底部信息的内容、前景色、背景色、高度、字体、行高;(4)网页是否有菜单,如果有,使用菜单表中的哪一个菜单;(5)中间部分由哪些部分构成等信息。
包括主页面在内,门户网站中有几个页面,就会在此表中出现几条记录。
3.2PageDetail表
PageDetail表记录了组成每一个页面中间部分的详细设计信息,是可定制门户网站布局的关键表,可以根据门户网站的具体需求而设计,可变参数越多,网站显示形式越丰富,但后台管理也就越复杂。我们在设计时将网页的中间部分,按照其显示的内容和形式,分成了若干模块,每个功能模块形成一条记录。
每个记录的Position字段决定了该模块在网页中间部分的位置(左、中、右);ModelWype字段决定了该模块显示信息的类型(信息列表、详细信息、文字链接或图片链接);PositionOrder字段决定了该模块在与自己在同一Position上时的排列顺序,比如,在中间页面的左侧存在两个模块,一个是最新信息列表,一个是按点击排行列表,那么PositionOrder值的大小就决定了这两个模块哪一个排在上面,哪一个排在下面;OrderKind字段是在ModelType为信息列表时,决定是按时间顺序显示信息还是按点击次数排序;InfoKindID字段决定了显示哪一类信息。
除了上述的关键字段外,每个模块还都有布局参数,包括前景色、背景色或图片、字体、边距信息、行高、显示行数等字段。
3.3PageAdditional表
PageDetail表无法完成所有中间部分的描述,比如文字链接需要显示的文字、图片链接的图片地址以及点击它们后跳转放链接等信息,因此增加了PageAddition表。
在表中,Title字段保存文字链接需要显示的文字;ImgUrl字段保存图片存储的地址;TipText字段保存鼠标停留在文字或图片上时的提示信息;ShowOrder字段保存显示的顺序;IsBlank字段决定是否在新窗口中显示打开的链接;Url字段保存了链接直接跳转的网址,比如友情链接的跳转地址;Content字段保存了直接显示的内容;LinkPageFrameID字段保存了网站内部的跳转链接。url、Content和LinkPageFrameID字段对于一条记录只能有一个字段有值。
3.4PageMenu表和PageMenuItem表
对于一般的网站,菜单的层级一般不会超过三级,PageMenu表记录了每级菜单的link、hover、active和visited的前景颜色和背景颜色,以及菜单的字体、宽度和高度等信息。
PageMenuItemi~录了各级菜单每个菜单项的详细信息。包括:标题、链接、菜单级别、父菜单ID和在同级菜单中的显示顺序等信息。链接的处理方式与PageAdditional表中的处理方式相同,只是少了Content字段。
4系统实现
我们学院在进行可定制门户网站开发时,采用TAsP.NETMVC架构。
ASP.NET MVC是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序框架,将一个web应用分解为Model(模型)、View(视图)和Controller(控制器),同时提供了对HTML、CSS和JavaScript的完全控制。
结合ASR NET MVC的特点,我们将页面布局的数据模型建立在Model中,使用Controller中的不同Action,通过数据模型实现对数据库的查询等操作,在View中,使用查询得到的数据模型中的数据和View引擎Razor,实现对门户网站的布局。
对于整个系统的后台管理,同样使用ASP.NET MVC架构,同样使用Action,通过数据模型,实现对数据库的增、删、改和查询操作,在View中,使用jQuery EasyUI,结合HTML实现后台管理界面的开发。使用jOuery EasyUI可以使整个页面布局如同应用程序,操作方便,美观大方。
5结语
在对可定制门户网站架构的设计和开发中,数据库的设计是很关键的,而且数据库的设计也不是统一的,要根据门户网站的整体风格来设计;在实现的技术上,建议采用MVC架构,MVC架构可以试开发者在不依赖业务逻辑的情况下专注于视图设计,非常适合网站页面的定制开发。
文章对可定制门户网站的开发提供了一个相对完整的解决方案,整体设计相对简单,不可能完全满足各类门户网站的开发需求,在这里我们只是抛砖引玉,给门户网站的开发者提供一个思路,供大家参考。