dnt模板说明.doc_第1页
dnt模板说明.doc_第2页
dnt模板说明.doc_第3页
dnt模板说明.doc_第4页
dnt模板说明.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

原理程序的界面与业务逻辑的分离是现在大家的共识, 即所谓的MVC, 应该说, ASP.net中的控件模式已经为MVC模式做了实现, 但Discuz!NT还是选择了另外一种方式. 这主要是基于以下考虑:1 模板制作者的接受度. Discuz!NT是一个通用型产品, 用户为广大论坛站长, 各个论坛都有自己的界面个性化需求, 因此界面模板的制作必须容易被各个普通站长学习掌握, 而ASP.net的ascx文件对于没有学习过ASP.net或对其开发模式没有了解的人来说, 是存在难度的. Discuz!NT使得用户了解html基本就可以制作ASP.net论坛界面, 站长可以轻松掌握如何修改和设计界面.2 一般情况下, 前台程序不使用控件模式, 性能都得到了提升. 控件的开发方式比较有利于提高开发效率, 提高模块的重用性, 但缺陷是性能上会有一些损失, 例如不用数据绑定, 显然也就不必判断数据来源和转换数据类型, 不用页面控件和控件事件等, 也就避免了使用ViewState, 此外控件往往追求功能齐全, 当你只需要一部分功能时, 大量无用的代码同样会拖累性能.这两点简单归纳起来就是提高了易用性和性能.Discuz!NT使用的界面模板方式与一些其它Web程序有相似之处, Discuz! (php)采用的方式是将模板html文件转换为php文件, 然后在相应php程序文件中#include进来, 另一个国外ASP.net程序DNN则是将html文件翻译为了ascx文件. Discuz!NT采用的模式可以认为是对前者的模式又进行了层次的划分(界面与业务分离), 也可以认为是后者的更进一步(既然那些ascx也是自动生成了, 何不干脆aspx化让第一次执行前的编译更简单?) Discuz!NT的前台页面层次如下:如果还是不太清楚, 则以文件类型可以直观描述如下:用户的html模板文件在后台选择生成模板时被转换为aspx文件, 负责进行Discuz!NT前台的页面显示(例如showuser.htm被转换为showuser.aspx)aspx.cs文件为页面类, 负责接收用户提交, 获取页面所需要的各种变量并交付给aspx文件, 这里是实现论坛功能的主要部分(例如showuser.aspx.cs为showuser.aspx提供变量具体数据)对于一些常用的论坛对象, 又进行了业务对象封装以方便使用(例如对用户的信息封装为UserInfo类, 用户常用操作封装于UserFactory类) 当然, 除了显示层外, 其它层次的代码最后都被编译进DLL文件中, 对于纯粹只是使用的站长来说, 你一般只需要修改显示层即可满足你的界面修改要求.以上所讲述的是大概的层次结构, 具体细节会在后面的章节中逐步提到.基本语法不必担心, Discuz!NT模板中用到的语法是很少的, 因为我们的目的就是为了让没有程序语言基础的人也可以快速掌握.基本语句如下:语法含义举例包含某个已存在的模板文件varname显示变量usernamevar.显示数据变量里的指定字段的值forumname.循环列出数据, 每个数据用item字段名表示, 数据为DataTable.版块名称: forumname. .判断语句, 可选, 意思为:如果满足条件. 的话.否则.结束并且可以使用以下比较符: 大于= 大于等于= 小于等于!= 不等于您尚未登录您已经登录.插入c#代码/可以插入任意c#代码int maxattsize = 20; 创建一个程序变量并赋值,具体解释如下:type - 变量的类型,如果有type则首先创建对象再赋值,否则直接赋值ref - 这里代表变量或属性arg - 如果此参数外有双引号,则为此值为字符串类型;如果是数字并且没有双引号封闭,则此值为整型 expression - 这里可以写表达式为ref赋值创建变量并赋值: 变量引用: 变量赋值: 方法引用: 字符型: 引入一个命名空间注意:该语句不能用在子模板中自定义aspx页面的继承类,需要写在模板文件的最上方,子模板无效在循环标签中分支用以结束当前循环,直接进入下一次循环的标签,使用方式同传统程序一致。.在循环标签中用以结束循环,进入后续程序的标签,使用方式同传统程序一致.你也许会惊讶, 就这么几个吗? 是的, 主要的显示控制语句就以上的几个, 界面中80%以上的情况下用上面的语句来解决就足够了, 是不是很简单?上面灰色背景的为程序语句, (深灰色为高级语法, 普通用户制作模板时如果不懂也可以不用) 程序语句格式比较死板, 因此在书写的时候应该特别注意, 必须遵守固定的格式.上面已经列举了两种最常见的变量用法, 下面是变量使用的一些例外, 在这里也列举一下:语法含义举例templatepath模板所在的路径strtoint(.)将数字字符串转换为数字, 如果字符串不是数字, 则转换为0 , 主要用于必须将变量转换为数字才可使用的场合.var.item属性变量, 中间为英文字符. 在生成的aspx文件中, 属性的第一个字符会大写, 主要用于要使用一个对象属性的场合论坛名称是: config.forumtitle(在aspx文件中变量实际是config.Forumtitle)request.获取用户的提交, 包括url参数和表单等, 主要用于要使用用户提交的参数的场合.至此, 模板中所需要用的变量和语句的方法就列举完了, 当然, 如果你了解c#语法, 一些地方可以略微灵活的处理, 这里只所以只提供几种最简单的语句, 主要还是考虑到许多站长并没有程序语言的基础.此外, 考虑到大家书写的方便和降低书写错误的几率, Discuz!NT模版规定: 所有变量和语句均为小写, 我们也希望大家在改写aspx.cs文件时提供的变量都为小写, 只有这样, 才可以维护这一规则.有了这些基本的了解, 接下来, 我们就可以尝试自己制作模板了.模板文件说明模板文件名称模板说明模板备注dnt.css论坛文件控制样式-editor.css论坛中发帖回复等处使用的编辑器样式控制-main.css聚合,空间,相册等主要功能块的样式控制-_adlist.htm浮动广告和左右对联广告-_ajaxquickreply.htm帖子查看页快捷回复模板-_albumheader.htm相册头部-_albumnavigation.htm相册导航栏-_attachmentinfo.htm附件查看-_copyright.htm论坛版权-_editor.htm编辑器-_errmsgbox.htm操作错误提示-_footer.htm论坛底部结束,此文件中包含有头部搜索的下拉菜单-_forumsetmenu.htm用户中心”论坛设置”控制-_header.htm论坛头部-_login.htm错误提示和要求登录-_menu.htm用户中心左侧菜单-_msgbox.htm操作正确等论坛提示-_newpmmsgbox.htm个人短信息在首页和帖子页面提示框-_pageheader.htm论坛meta,title等相关信息设置的文件-_pagewordadlist.htm首页广告区文件-_permenu.htm点用户中心”个人设置”后右侧上面的菜单控制-_photoerrmsgbox.htm相册功能块操作等错误提示-_photomsgbox.htm相册功能块操作等正确提示-_poll.htm论坛投票帖投票情况显示区-_postattachments.htm编辑器附件上传区域-_quickpost.htm帖子列表中快捷发布帖子-_quickreply.htm帖子内容树形显示快捷回复-_quicksearch.htm论坛头部快速搜索-_ratelog.htm论坛评分-_realnamesystem.htm论坛注册时要求添加的实名信息-_report.htm举报功能按钮-_rotatepic.htm聚合页面幻灯图象-_scoremenu.htm点用户中心”积分交易”右侧的菜单栏-_smsmenu.htm点用户中心”短信息”右侧的菜单栏-_spaceheader.htm个人空间头部-_spacemenu.htm点用户中心”空间”右侧的菜单栏-_subforum.htm帖子列表页上面显示的论坛主题子版块-_subscribemenu.htm点用户中心”收藏夹”右侧的菜单栏-_tempaccounts.htm切换帐号登录发帖-_usercperrmsgbox.htm用户中心跳转提示-_vcode.htm验证码-_websitefooter.htm聚合,空间等功能块的底部版权等信息-_websiteheader.htm聚合等头部信息-activationuser.htm激活用户页面-albumindex.htm相册首页-announcement.htm公告信息-attachment.htm附件下载页面-bloglist.htm日志列表-buytopic.htm购买主题帖-delpost.htm删除帖子-editpost.htm编辑帖子-favorites.htm收藏-focuslist.htm分栏模板右侧框架文件-forumindex.htm论坛首页-forumlist.htm分栏模板左侧框架文件-frame.htm分栏模板主体框架-getip.htm获得IP地址-getpassword.htm找回密码-help.htm帮助文件-login.htm用户登录-logout.htm用户退出-myposts.htm我的回复-mytopics.htm我的主题-onlineuser.htm在线用户-poll.htm投票操作正确与否提示-postreply.htm回复帖子-posttopic.htm发表主题-register.htm用户注册-search.htm搜索-setnewpassword.htm重设密码-showalbum.htm相册显示-showalbumlist.htm相册列表-showforum.htm主题列表-showphoto.htm相片图片展示-showphotolist.htm相片列表-showtemplate.htm界面选择页面-showtopic.htm主题内容显示-showtopiclist.htm精华帖等显示-showtree.htm帖子树型显示-showuser.htm用户列表-spaceindex.htm空间首页-spaceregister.htm申请空间-topicadmin.htm帖子列表底部管理选项点开后的管理帖子页面-useradmin.htm管理用户-usercp.htm用户中心-usercpcreaditstransferlog.htm用户中心转账与兑换记录-usercpcreditspay.htm用户中心积分兑换-usercpcreditspayinlog.htm用户中心积分收入记录-usercpcreditspayoutlog.htm用户中心积分支出记录-usercpcreditstransfer.htm用户中心积分转帐-usercpdraftbox.htm用户中心草稿箱-usercpeditphoto.htm用户中心管理相册编辑图片-usercpforumsetting.htm用户中心论坛设置-usercpinbox.htm用户中心收件箱-usercpnewpassword.htm用户中心更改密码-usercppmset.htm用户中心收件箱-usercppreference.htm用户中心个性设置-usercpprofile.htm用户中心编辑个人档案-usercpsentbox.htm用户中心发件箱-usercpshowpm.htm用户中心显示短信息内容-usercpspacecategoryadd.htm用户中心添加日志分类-usercpspacecategoryedit.htm用户中心编辑日志分类-usercpspacecomment.htm用户中心管理评论-usercpspaceeditblog.htm用户中心编辑日志-usercpspacelinkadd.htm用户中心增加友情链接-usercpspacelinkedit.htm用户中心编辑友情链接-usercpspacelinklist.htm用户中心友情链接-usercpspacemanagealbum.htm用户中心管理相册-usercpspacemanageattachment.htm用户中心管理附件-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论