![Net N2CMS[笔记].doc_第1页](http://file.renrendoc.com/FileRoot1/2020-1/19/b0f20a54-3c2f-4f7e-8438-9d979e100f47/b0f20a54-3c2f-4f7e-8438-9d979e100f471.gif)
![Net N2CMS[笔记].doc_第2页](http://file.renrendoc.com/FileRoot1/2020-1/19/b0f20a54-3c2f-4f7e-8438-9d979e100f47/b0f20a54-3c2f-4f7e-8438-9d979e100f472.gif)
![Net N2CMS[笔记].doc_第3页](http://file.renrendoc.com/FileRoot1/2020-1/19/b0f20a54-3c2f-4f7e-8438-9d979e100f47/b0f20a54-3c2f-4f7e-8438-9d979e100f473.gif)
![Net N2CMS[笔记].doc_第4页](http://file.renrendoc.com/FileRoot1/2020-1/19/b0f20a54-3c2f-4f7e-8438-9d979e100f47/b0f20a54-3c2f-4f7e-8438-9d979e100f474.gif)
![Net N2CMS[笔记].doc_第5页](http://file.renrendoc.com/FileRoot1/2020-1/19/b0f20a54-3c2f-4f7e-8438-9d979e100f47/b0f20a54-3c2f-4f7e-8438-9d979e100f475.gif)
已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
版本:2.2.10) 一个完整的CMS系统主要包括以下功能:网站管理:系统必须能够对网站的各模块进行动态的管理分配,同时支持子模块的添加,形成树形的体系结构,管理员可以对各个模块设置访问权限等。内容管理:网站的维护人员可以通过浏览器对Web网站的内容进行管理,CMS系统能够提供一个可视化操作环境支持维护人员的各种操作,CMS系统还支持关键字查询、分页及评论管理等功能。模板管理:模板的使用是为了更好地在前台生成动态的页面,方便不同开发人员设计出风格统一、样式优美的Web页面。一个良好的CMS系统能够提供所见即所得的模板编辑工具。用户管理:CMS系统需要对这些不同的用户设置权限,用户只能在自己权限范围内进行操作。比如CMS系统中定义集中权限不同的角色,在添加用户的同时指定用户的角色类型。=CMS分类:应用层面的不同重视后台管理的CMS;重视风格设计的CMS;重视前台发布的CMS。CMS分类:开发语言的不同基于JAVA技术的CMS系统如:OpenCMS、JBoss Nukes、Apache Lenya、Apache Slide、 dotCMS、OpenEdit等。基于.Net技术的Ludico、umbraco、nkCMS等。基于PHP技术的PhpNuke、PostNuke。EzPublish等。=N2中自带数据库记录框架的所有信息,包括各个页面的名称、内容、页面中所有元素及其属性等相关信息。N2Item:负责记录组成网站元素(Page和Part类)的基本信息,包括各个元素的名称、标题、类型、状态、修改权限、可见与否、原始路径、版本序号、父元素相关信息、元素在页面中的位置信息以及该元素创建、发布、更新、过期的时间等。N2DetailCollection:记录网站元素所包括的集合名称,如一个Part类中所包含的多个参数及其名称。N2Detail:负责记录组成网站元素的明细信息,主要包括网站中个各类定义的各种集合元素中各种变量的取值信息等,如一个Part类内部定义了多个参数,每个参数的类型和取值均存放在此明细表中。N2AllowRole:负责记录每个页面的用户(有权限访问的角色名称)。=1) 内容项(ContentItem)实例N2CMS中,所有的页面上显示的内容均是一种内容项(ContentItem)实例。2) 特性:名称说明AllowedZonesAtrribute限制放置Part的Zone是哪些类型。AvailableZoneAttribute在视图中通过Html.DroppableZone设置Zone的位置,再通过在Part类或Page类中使用此特性设置或选择可用于放置该Part的Zone并设置Zone的标题。AllowedChildrenAttribute?AbstractEditableAttribute方法名说明AddEditor(Control Container)1:在初始化界面添加某属性编辑器(某表单控件)。初始化控件后须将其添加到container中,Container可能就是该编辑器的父容器。2:保存并发布时,再次调用此方法,UpdateEditor(ContentItem item, Control editor)1:初始化界面编辑器后续更新编辑器使之生效,editor即被初始化的编辑器控件,item是需要此编辑器的PartBase2:保存并发布时,在AddEditor被调用后再次调用此方法,item是需要此编辑的PartBaseUpdateItem(ContentItem item, Control editor)1:保存并发布时,调用此方法,将初始化界面中编辑器的内容转换为发布后页面上显示的内容,并作为ContentItem添加到item的Children中。DefinitionAttribute(“PageTitle”, Installer = N2.Installation.InstallerHint.PreferredStartPage)第一个参数是页面的标题,第二个是设置属性Installer,它让N2在安装此网站是能让被其修饰的某个AbstractPage的子类作为起始页进行选择。注:此特性不推荐使用,推荐使用PageDefinition。DisplayableHeadingAttribute修饰某属性的编辑器的标题,从h1到h6,同于选择Html标签h1h6修饰标题。效果在页面上可看到,而不是初始化界面上。DisplayableImageAttribute?DisableAttribute?DisplayableTokensAttribute?DisplayableLiteralAttribute?EditableNumberAttribute被修饰属性可以被一个仅能输入数字的编辑器编辑。EditableLinkAttribute指定一个连接输入框来编辑被修饰的属性。指定输入框的名称和排列序号以及ContainerName,ContainerName属性指定该输入框放置的位置(哪一个fieldset,即FieldSetContainer特性中指定的Name属性,如果实在Page中使用ContainerName,则制定的该属性的值时Tab的名称而不是FieldSetContainer的名称)。EditableTextAttribute指定一个文本输入框来编辑被修饰的属性。指定输入框名称、排列序号、ContainerName。EditableTagsAttribute?EditableImageSizeAttribute修饰string类型属性,表示图像尺寸。EditableCheckBoxAttribute类同于EditableXXXAttribute。EditableRolesAttribute指定角色选择控件,控件数据提交的是角色集合DetailCollection,ContentItem类型的元素的集合。EditableFreeTextAreaAttribute表示被修饰的属性可以被一个富文本编辑器编辑。对应的文本框是Main Text,须写一个string Text属性。?EditableEnumAttribute修饰属性,使该属性可由下拉列表编辑,下拉列表的内容有enum类型数据提供如:public enum HeadingLevelone = 1, two = 2, three = 3, four = 4EditableEnum(“Title Heading level”, 90, typeof(HeadingLevel)EditableChildrenAttribute在初始化界面添加ZoneEditableDateAttribute为属性添加时间日期编辑器EditableFileUploadAttribute提供上传文件控件(编辑器),修饰属性以使其可编辑。常与FileAttachmentAttribute并用,如“FileAttachment,EditableFileUploadAttribute(“Content Image”, 90, ContainerName=Tabs.Content, CssClass=”main”)”?EditorModifierAttribute设置编辑器的模式,使用枚举TextBoxModeSingleLine,MultiLine,PasswordEditableLanguagesDropDownAttribute?EditableItemAttribute为某Part类型的属性添加Part类型的编辑器?FileAttachmentAttribute?FieldSetContainerAttribute在添加Part到页面中时,需要初始化Part的一些属性(在对应PartBase的派生类中定义),这些属性可以与控件绑定,从而使填写在控件中的信息填充到属性中(配合EditableLinkAttribute、EditableTextAttribute、EditableCheckBoxAttribute,EditableRolesAttribute确定这些控件的信息),这些控件可被指定放置在fieldSet中,Part的初始化界面中有哪些fieldSet可被指定为控件的父容器以及他们的顺序就是由该属性确定。MvcConventionTemplateAttribute?NotVersionableAttribute修饰类,告诉编辑系统不需要保存版本。PartDefinationAttribute定义模板,模板的基本信息的填充配合FieldSetContainerAttribute和EditableXXXAttribute使用。PageDefinitionAttribute页定义,告诉N2,这个类是可以作为页模板的,包括标题、说明、图标、序号等等属性。PersistableAttribute?RestricParentsAttribute约束当前节点的父节点可以是哪些类型。RestrictCardinalityAttribute用于限制被修饰的Part在同一页面中的最大数量,最大数量通过MaximumCount属性指定。ThrowableAttribute?SortChildrenAttributeChildren的排列方式。?SortExpression属性?SeparatorAttribute?SidebarContainerAttribute添加位于右侧面的可上下伸缩的边框,类同于将Tab标签的内容改为在侧面的边框显示,使用Tabs枚举设置边框的类型类似于设置Tab标签的类型,通过HeadingText设置标题。TabContainerAttribute为Page或Part添加标签容器。TabContainerAttribute创建标签页容器,类似于FieldSetContainerAttribute。WithEditableTitleAttribute修饰类,使此类的标题可编辑,但须重写一个名为Title的属性。?可以不重写WithEditableNameAttribute使此类的Name属性可编辑。WithEditablePublishedRangeAttribute修饰类,表示被修饰的内容项可设置发布时间。3)Zone视图中限制页面可放置Zone的位置和种类:使用HtmlHelper的扩展方法DroppableZoneExtensions.DroppableZone()。Zone的种类:使用Zones类的成员变量(字符类型的常量)。限制Part(用户控件)可放置的容器(Zone)的种类:使用AllowedZones特性参数为Zones类的成员变量,在aspx中通过N2.Web.Mvc.ContentViewUserControl指定Part对应的模型和后台代码,后台代码中通过特性PartDefinition指定改代码为模板。Part和Page均属于视图(位于Views目录下),后台代码位于Models目录下,Part的位于Models/Parts下,Page的位于Models/Pages下。类注释:N2.Templates.Mvc(目录/Zones.cs)武成明:Zone是可放置Part即用户控件的位置类似于母版页添加asp:ContentPlaceHolder,使用母版页的页面则定义占位符位置的内容一般,使用HtmlHelper.DroppableZone方法定义Part可放置其中的占位符。课件可通过AllowedZones特性来控制可作为其父容器的Zone的种类。4) 接口IPage:被SearchableTypeAttribute修饰。?IStructuralPage:使用此接口指明该页是可以有孩子的。(Interface used to denote pages that can have children. )此接口允许模块之间的合用,且与模块的类型不相关。(This interface allows collaboration between modules that doesnt know about each other. )类实现此接口表示该类可以将其它页作为此页(此类)的孩子。(Classes implementing this interface are eligeble for having child pages.)ISyndicatable:此接口被SearchableTypeAttribute修饰。?IDataErrorInfo:返回用户自定义错误信息,须实现一个索引,具体验证方法须自己写。5)Part定义Part使用PartDefinitionAttribute(旧版N2使用DefinitionAttribute),其中使用6) HtmlHelper的扩展HtmlHelper通过ContentViewUserControl.ContentHtml属性获取DisplayExtensions:方法DisplayContent:通过该方法调用的属性是PartBase派生类的属性而不是Model的属性,而直接通过HtmlHelper调用的属性是Model的。方法RenderDisplay:7) 类System.Web.Mvc.TagBuilder表示一个类,Html帮助类使用给该类生成Html元素。N2.Web.Drawing.ImagesUtilityN2.Templates.Mvc.Models.Pages.DatabaseSearch8) ASPX或ASCX在页面中设定某位置可以放置的Zone使用如下语句“”9) 控制器ContentController:包含默认的Action方法(Index)10) 自定义Part:所说明的文件的创建位置均为建议,可修改但须配置web.config两种方式:有Controller和没有Controller1:没有Controller在Model/Parts目录下创建继承自ContentItem或其派生类PartBase的Part初始化用的界面使用的Model,使用PartDefinitionAttribute特性修饰该类,以告诉N2这是一个Part模板,在类中添加属性并结合其他特性可用于创建Part初始化界面的控件布局;在Views/PartTemplates目录下创建同名ASCX(用户控件),如果该视图没有响应的模型类则应在视图的Inherits指令中使用System.Web.Mvc.ViewUserControl,在视图中使用模板的通过Model属性或Lambda表达式;2:有Controller模板类的创建同于没有Controller形式下的模板创建方式;在Controllers目录下创建继承自TemplatesControllerBase或ContentController的控制器ContentController的属性CurrentItem保存的即是当前视图对应的模板类,但须使用N2.Web.ControlsAttribute特性修饰ru Controls(typeof(模板类);在Views/与类同名的目录目录下创建ASCX(用户控件),该视图如果有相应的模型类(不在Models/Parts目录下而直接在Models目录下)则视图的Inherits指令应使用N2.Web.Mvc.ContentViewUserControl,在视图中使用模型可通过Model属性或Lambda表达式,当前视图对应的模板保存在Controller的CurrentItem属性中,可通过对模型进行设计以使得可通过模型获取模板类,比如将Controller的CurrentItem作为参数传递给模型的构造方法;11) 自定义Page:所说明的文件的创建位置均为建议,可修改但需配置web.config两种方式:有Controller和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 写人作文我的同学300字9篇范文
- 办公室内部管理制度协议
- 校园一景650字9篇范文
- 摄像头电池轻量化与能量管理研究-洞察及研究
- 色彩培训知识点课件
- 农村道路合同协议书模板
- 拆除广告施工安全协议书
- 采购货物代理合同协议书
- 买卖地里药材合同范本
- 充电桩场地使用合同范本
- 电机学模拟习题(含答案解析)
- (高清版)DB13∕T 5360-2021 水利工程项目划分导则
- 餐饮区域保护合同范本
- 美容院股权分配协议书
- 医院药物使用流程及监控机制
- 《电子商务基础(第二版)》课件 第二章 电子商务交易模式
- 绿化工程挂靠合同协议
- 2025年消防设施操作员(中级)职业技能鉴定参考试题库(500题含答案)
- 2025年交管12123驾驶证学法减分题库(含答案)
- 配电室防汛应急预案
- ISO27001:2022信息安全管理体系全套文件+表单
评论
0/150
提交评论