orchard,Orchard模块和主题的清单文件(Manifest File)

在Orchard中模块和主题是用于扩展和自定义Orchard网站的重要工具。每一个模块和主题都需要一个清单文件(manifest),它是一个文本文件,文件名为module.txt或theme.txt,位于模块或主题的根目录下。一个清单文件存储了描述模块或主题的一些基本信息供Orchard系统使用,如:名称、版本、描述、作者或标签等。
本文是关于清单文件的。如果你创建一个自定义模块或主题,或者你写代码访问模块或主题,你都需要理解清单文件中的字段。在文件清单中数据都是以键值对的形式存储的,如:FiledName:Value。以下分两节分别讲解模块和主题的清单文件中的字段含义。

模块清单字段

字段名称
说明
Name
模块名称。可以理解为模块的友好名称,能够最直观的表述模块功能。如:Orchard.Blogs模块,其模块名称可以为Blogs。Orchard.Blogs是模块Id,它是模块所在的目录名称。如果清单文件中没有提供模块名称,系统默认用模块Id作为模块的名称。模块名称将显示在Orchard UI和Orchard软件市场中。
Path
路由名称(Area部分)。Orchard默认的路由地址为:{area}/{controller}/{action},如果没有指定Path值,Orchard默认使用模块Id作为area。如:MyCompany.HelloWorld模块的area为MyCompany.HelloWorld,这样的Url可读性就不高,所以可提供一个Path值HelloWorld这样在访问MyCompany.HelloWorld模块时就可以简化Url,如:/admin/HelloWorld。
Description
模块描述。可用于描述模块的功能,此描述将显示在Orchard UI和Orchard软件市场中。
Version
模块的版本号。将显示在Orchard UI和Orchard软件市场中,让用户知道是否有新的更新发布。
OrchardVersion
描述当前模块所支持的Orchard框架版本
AntiForgery
防伪,指示模块是否启用请求验证。可选值有:enabled和disabled。如果启用这个设置,Orchard会验证Post的请求是否来源于本站,这样就可以防止跨站提交。启用这个设置后,form表单必须用Html.BeginFormAntiForgeryPost()生成。
Author
模块的开发者,可以是组织,个人或团队。
Website
模块开发者网站
Tags
模块的标签,用半角逗号分隔。标签可以可便于在Orchard软件市场中查询。
FeatureDescription
模块默认功能描述。如果模块只有一个功能那么只用在这里描述就可以了。如果模块有多个功能,可以在这里描述一个主要的功能。其余的功能可以在Features中描述。
Category
模块分类,Orchard管理后台的模块列表功能中,可以根据分类,将不同类型的模块列在一起便于查看。
Dependencies
模块的依赖关系,用半角逗号分隔模块所依赖的其他模块。
Features
描述模块的所有功能。如果模块只有一个功能,用FeatureDescription就可以了,如果模块有多个功能,就可用到此节点。具体用法可见:Orchard.Experimental模块。

模块清单示例
Orchard模块和主题的清单文件(Manifest File)orchardOrchard模块和主题的清单文件(Manifest File)orchard一个功能的模块 Name: MyCompany HelloWorld Path: HelloWorld AntiForgery: enabled Author: 二十四画生 Website: http://esshs.cnblogs.com/ Version: 1.0 OrchardVersion: 1.0 Description: 这是一个简单显示HelloWorld字样的模块 FeatureDescription:显示HelloWorld文字 Category: Sample

多个功能的模块 Name: Experimental AntiForgery: enabled Author: The Orchard Team Website: http://orchardproject.net Version: 1.1.30 OrchardVersion: 1.1.30 Description: An assortment of debugging tools. Category: Developer Features: Profiling: Name: Profiling Description: Tools to help profile Orchard. Category: Developer Dependencies: Orchard.Experimental Orchard.Experimental.WebCommandLine: Name: Web Command Line Description: Enables site administrators to execute Orchard.exe commands via web interface Category: Developer Orchard.Experimental.TestingLists: Name: Testing Lists Description: Adds some content definitions to help test lists Dependencies: Orchard.Lists Category: Developer Orchard.Experimental.LockLogging: Name: Lock Logging Description: Logs extra diagnostic information for Sql CE if a deadlock timeout occurs Category: Developer
多个功能的模块在定义的时候每一个功能用一个Tab缩进列举在Features下面。用feature ID+”:”表示一个功能。每个功能下面可以用2个Tab缩进分别定义这个功能的名称,描述,依赖,分类等。

主题清单字段

字段名称
说明
Name
主题名称
Description
主题描述。可用于描述主题的风格布局等,此描述将显示在Orchard UI和Orchard软件市场中。
Version
主题的版本号。将显示在Orchard UI和Orchard软件市场中,让用户知道是否有新的更新发布。
Author
主题的开发者,可以是组织,个人或团队。
Website
主题开发者网站
Tags
主题的标签,用半角逗号分隔。标签可以可便于在Orchard软件市场中查询。
Zones
主题的区域。用半角逗号分隔主题所包含的区域。Orchard后台在添加widgets的时候可根据此设置显示主题所拥有的区域。
BaseTheme
主题所继承的其他主题的Id。这是一个可选字段。他通常用于你希望复制一个已存在的主题并做出一些修改的时候。

主题清单示例
主题清单文件 Name: 测试主题 Description: 这是一个测试主题。 Version: 1.0 Author: 二十四画生 Website: http://esshs.cnblogs.com/ Tags: 测试, 简洁 Zones: Header, Content, Footer


注意:字段名称是区分大小写的。如果拼写错误,Orchard系统不认的。另外如清单文件中如果有中文,需要用utf-8编码格式保存。

参考文档

http://www.orchardproject.net/docs/manifest-files.ashx

Tags:  orchard

延伸阅读

最新评论

发表评论