描述文件
在Orchard中,我们通过模块和主题对Orchard进行扩展。每个模块和主题,都有一个描述文件(Manifest文件),这是一个放在模块或者主题根目录下面,名叫module.txt或者theme.txt的纯文本文件。描述文件中,包含了模块或者主题的元数据,比如名称、版本、描述、作者、标签。
这篇文章讲述了描述文件的内容结构,以及可以使用的属性,因为主题也是一种模块,所以主题和模块的描述文件的属性配置是很相似的。
模块的描述文件命名为module.txt。在该模块的根目录下面。
模块的描述文件,包含了对该模块的说明,和模块里面特性的说明。
一个模块可以包含一个或者多个特性。通过模块描述文件,我们可以实现将模块分成多个区,每个区包含独立的特性。
在模块包含多个特性的时候,某些特性可以重写,这些特性我们会在下面的Features: sub-section fields表格中说明。
字段名称 |
描述 |
Name |
可选 为模块提供一个易于理解的名称 如果配置了name属性,那么,他将会作为模块的显示名称。在Orchard Gallery和 Orchard UI中显示。 如果没有手动赋值,那么模块的ID将作为模块的名称。 说明:模块的ID就是模块所处的文件夹名称,使程序可以唯一定位该模块。比如,bing.Maps模块放在Modeuls/Bing.Maps文件夹中,该模块的ID为Bing.Maps,该模块的名称为Bing Maps("."会被移除)。 |
Path |
可选 提供了一个更易于理解的名称,来生成URL路径。 如果该属性没有配置,Orchard会基于模块的名称来生成URL路径。 比如, Orchard.ArchiveLater 模块,他的名称是 Archive Later,ID是 Archive.Later。我们将模块的path配置为 ArchiveLater。 注意:path的值必须符合URL规范,比如,配置的值不能包含空格 。 |
AntiForgery |
必须 可能的值:enabled/ disabled. 决定是否开启请求验证。 |
Author |
可选 模块开发人员 |
Website |
可选 开发人员的站点 |
Version |
必须 版本号 版本信息会在 Orchard Gallery 和 Orchard UI中显示 同时还用于决定站点是否启用模块更新。 |
OrchardVersion |
必须 该模块支持的最低的Orchard版本。 |
Description |
可选 模块的简介 该简介会在 Orchard Gallery 和 Orchard UI中显示 这个值可以通过 FeatureDescription 字段重写。 |
Dependencies |
如果该模块依赖于其他模块,那么该配置是必须的。如果该模块的特性没有依赖于其他模块特性,那么该配置就不需要。 需要依赖的特性,多个特性用逗号分隔。 |
Category |
可选 默认的分组为: uncategorized。 这个字段用于对模块进行分组,在Orchard后台的模块管理页面,特性会按照分组显示。 |
Tags |
可选 模块的标签,多个用逗号分隔。 在Orchard Gallery中,我们可以通过标签来查找模块。 |
FeatureDescription |
可选 对模块中特性的描述 如果模块只有一个特性,那么会使用FeatureDescription或者 Description 的值作为该特性的描述。 FeatureDescription 会重写 Description 的值 如果模块具有多个特性,具有默认特性。那么, FeatureDescription 的值就是对默认特性的描述。 如果模块具有多个特性,没有默认特性,那么这个FeatureDescription 的值就不会起作用。 |
Features |
可选 可以包含多个段落,是对模块中特性的描述。 具体的配置,请看下面的sub-section表格 这个配置需要放在描述文件的最后 |
如果一个模块中包含了多个特性,那么就必须使用特性配置。他包含了对各个特性的描述。
Features: 字段的配置比较复杂,具体的各个属性如下:
字段名称 |
描述 |
FeatureId |
必须 特性ID是对特性的唯一标识,他是特性描述的第一行,前面是一个"TAB",然后接特性的ID(不是键值对)。 注意: 特性下面的字段必须以"两个TAB"或者"八个空格"开头。 |
Name |
可选 为特性取一个易于理解的名称 如果配置了该属性,那么他将作为特性的显示名称,如果没有配置,那么FeatureId将作为特性的名称。 |
Description |
可选 特性的描述。 If this is the default feature of the module use theFeatureDescription instead. |
FeatureDescription |
可选 对于默认特性或者唯一的特性的描述。 |
Category |
可选 默认值: uncategorized. 对特性进行分组,在后台的特性管理页面,会根据分组显示 |
Dependencies |
如果该特性依赖于其他的特性,必须配置 该属性的值是由逗号分隔的多个依赖特性的ID。 |
Priority |
可选 默认值: 0 ,越大优先级越高。 决定了Orchard获取特定接口实现的顺序。 |
Name: Modules
AntiForgery: enabled
Author: The Orchard Team
Website: http://orchardproject.net
Version: 1.9.1
OrchardVersion: 1.9
Description: The Modules module enables the administrator of the site to manage the installed modules as well as activate and de-activate features.
FeatureDescription: Standard module and feature management.
Dependencies: Orchard.ExampleModule, Orchard.AnotherModule
Category: Core
具有多个特性的模块,具有默认的特性:
Orchard.Alias模块,就有一个默认的特性Orchard.Alias,还有两个扩展的特性,都依赖于Orchard.Alias特性。
Name: Alias
AntiForgery: enabled
Author: The Orchard Team
Website: http://orchardproject.net
Version: 1.9.1
OrchardVersion: 1.9
Description: Maps friendly urls to specific module actions.
FeatureDescription: Maps friendly urls to specific module actions.
Category: Content
Features:
Orchard.Alias.UI:
Name: Alias UI
Description: Admin user interface for Orchard.Alias.
Dependencies: Orchard.Alias, Orchard.ExampleModule
Category: Content
Orchard.Alias.Updater:
Name: Alias Updater
Description: Synchronizes aliases when created from different servers.
Dependencies: Orchard.Alias
Category: Content
包含多个特性的模块,没有默认特性
Name: AntiSpam
AntiForgery: enabled
Author: The Orchard Team
Website: http://orchardproject.net
Version: 1.9.1
OrchardVersion: 1.9
Description: Provides anti-spam services to protect your content from malicious submissions.
Features:
Orchard.AntiSpam:
Name: Anti-Spam
Description: Provides anti-spam services to protect your content from malicious submissions.
Category: Security
Dependencies: Orchard.Tokens, Orchard.jQuery
Akismet.Filter:
Name: Akismet Anti-Spam Filter
Description: Provides an anti-spam filter based on Akismet.
Category: Security
Dependencies: Orchard.AntiSpam
TypePad.Filter:
Name: TypePad Anti-Spam Filter
Description: Provides an anti-spam filter based on TypePad.
Category: Security
Dependencies: Orchard.AntiSpam
字段名称 |
描述 |
Name |
提供了一个易于理解的名称,作为主题显示名称,如果没有配置,那么,该主题的ID将作为显示名称。主题ID就是主题所在文件夹名称。 |
Description |
主题简介 |
Version |
主题版本号 |
Author |
主题作者 |
Website |
开发人员的站点 |
Tags |
主题标签,多个用逗号分隔。他可以用来过滤主题。 |
Zones |
主题用到的块,多个块之间用逗号分隔。 |
BaseTheme |
基础主题,该主题继承的主题ID。 |
主题说明文件示例:
Name: The Theme Machine
Author: jowall, mibach, loudej, heskew
Description: Orchard Theme Machine is a flexible multi-zone theme that provides a solid foundation to build your site. It features 20 collapsible widget zones and is flexible enough to cover a wide range of layouts.
Version: 1.9.1
Tags: Awesome
Website: http://orchardproject.net
Zones: Header, Navigation, Featured, BeforeMain, AsideFirst, Messages, BeforeContent, Content, AfterContent, AsideSecond, AfterMain, TripelFirst, TripelSecond, TripelThird, FooterQuadFirst, FooterQuadSecond, FooterQuadThird, FooterQuadFourth, Footer