描述文件

在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

posted @ 2015-10-04 15:11  争世不悔  阅读(778)  评论(0编辑  收藏  举报