一次购买,终身受用!

如何修改风格和布局

一、网站的架构及基本规划
    整个网站前台的网页都存在数据库中,而不是封装在程序中,很多人都误以为网页被封在程序中了,其实程序中什么都没有,程序里封装的只是一些逻辑性的判断语法和算法,程序中没有网页的页面代码。即然前台所有页面均在数据库中了,所以,修改页面的风格和布局只需通过后台就能完成了,而不需要用FTP上传更新网页。( 在前台每个网页在后台都能找到它的源代码,没有后台的模版,前台就不会有网页。)
二、工作原理
    当系统第一次起动时,会在内存中开辟一块缓存用来建立数据库的镜像,把系统设置、常用变量读进缓存之中,从此之后不再读真实的数据库了。当第一次访问某个网页时,系统会到镜像数据库中搜索数据,如果没有数据,才会从真实的数据库中读取出来,一旦读取之后,以后的访问都从镜像中读取,这种镜像的速度就是DDR的速度,比磁盘的速度要快上千倍,读镜像中的页面代码要比读存放在磁盘上的HTML文件还要快上千倍。所以,不需要担心速度问题。
    系统在运行过程中,分别按几个时间长度对不同的镜像内容进行定时清理和删除,时间间隔为:6秒,9秒,15秒,30秒,1分钟,5分钟,10分钟,20分钟,1小时,3小时,6小时,12小时,24小时,还有一些临时的清理时间就不写出来了,系统按以上时间针对不同的数据进行校验和整理,把不常用的数据从镜像中消除掉,以免浪费内存。你会看到每过30分钟左右,系统会释放一次内存。
    所以,如果网站仅有1人在线,和网站有10000人在线,除了对内存的要求增加外,对CPU的要求基本上是没有增加或增加幅度很小,这也就是本系统能同时承载10万人在线的理论依据,因为,本系统已经基本脱离了磁盘速度的限制,上升到了DDR速度的等级。可以说,本系统开发的镜像数据库已经代替了微软提供给.NET公用的缓存机制,由于微软提供给.NET公用的缓存机制是不分青红皂白的统统缓存,所以,虽然微软提供给.NET公用的缓存机制有许多现成的控件可以方便初学者搞开发,但它“乱读数据”的特点不仅影响速度也占内存,而本系统采取手工编写这一过程,完全取代了微软提供给.NET公用的缓存机制,所以,在相同的程序工作负载中,本系统的缓存机制要比微软提供的通用控件还要快10倍左右,而且更加节约内存,另外,由于本系统的数据库镜像是专门为本系统度身定制的缓存机制,所以,除了速度快和节省内存外,比.NET提供的控件要更加小巧灵活。

三、整站系统与各个子系统“区”的概念
    整个系统是按以下方式进行规类的,与会员有关的功能和页面均在后台“用户”中管理,与论坛有关的功能和页面均在后台“论坛”中管理,凡是在整个系统中公用的功能和设置,就放在后台“系统”中管理,以此类推,凡是需要寻找相应的管理功能的话,就要到后台相应的“区”里找管理菜单。所以,在后台,把系统管理分成了几个“区”,每个区都负责自已功能范畴之内的管理工作,并且,每个区都是互相隔离的,不同区的管理员是不能越权管理的,除了总管和站长能越区管理外,指定的区管理员只能管理指定区的管理工作。每个区的管理工作也是按具体情况进行了分类的,比如:用户区的工作就分为:模版管理、设置管理、帐号管理等等工作,如果分给用户区管理员的工作权限是模版管理,那他就只能管理“用户区”里的网页模版这个工作,而不能进行设置管理工作,也不能管理帐号。

    在后台的模版中,每个模版都对应了前台的一个页面,为了方便设计网页,在每个区里都增加了一个“区公用代码”,这个模版只能在当前所在的区里调用,你可以把它用来写一些所有本区网页都会用到的变量、css样式、菜单之类的公用的东西,你也可以不用它。要用它的话只需在其它模版中写上“<!--区公用码-->”就能把它的内容传到所在的位置中。由于我是把它当成导航条用,所以就放在了最前面,你也可以把它用来做别的用途,调用时放在任意位置都行,没有任何的限制。

    在后台中还有个模版是公用的,由于它是整个站都默认使用的,所以,已把它作为公用变量放在了“系统”设置中,这个模版就是“版权信息”了,它将会自动出现在每个页面的最下面,当然,你可以不填任何东西,让它空白。

    在我最原始的模版布局中,我是这样布局的:区公用代码+具体的页面模版=前台网页
为了方便众多的不同需求和调用方便,我又把原本写在“区公用代码”中的一些公用代码提取出来写成了js文件和css文件,并建了个目录mb/9k8,里面就是我最开始制作的22种风格的css样式和mb.js总导航条,另外有个skin.js是给用户选择风格的代码,由于这些都是整个站公用的,我不想放一大堆代码在“区公用代码”中碍手碍脚的,所以,就全改成了js文件存在了空间上,然后才在“区公用代码”中用src=***.js的方式调用。其实以上都是我用来偷懒的方法,你要不喜欢的话,可以把我所有原来的代码和mb目录删除,自已写一套出来。

    如何在原始模版的基础上修改风格和美化呢,上面已基本说明了本系统网页的生成方式和管理方式了,就要看你自已的设计能力了。另外,再谈谈我这22种风格的简便的修改方法,其实很简单的,每个风格对应的目录是个数字,如果你想增加新的风格,就可在原目录新建一个数字,然后在skin.js中按现成的样式增加一个风格的选择链接,这样,别人就可以选择你的新风格了。我在写风格时,仅仅是修改目录中的mb.css样式,并配以不同的北景图块到img目录中,通过mb.css中设置色彩,就改变了网站的风格了,所以,简单的修改风格是不需要动后台模版的。

    要改变布局的话就需要在后台制作新的模版页面,读取数据库数据资料的方法需要按照用模版中现有的读取格式来使用,每个模版中读取数据库资料的格式都已经基本在原始模版中给出来了,照着抄就能用,比如读取会员帐号用“<--帐号-->”。