AdminMenu.cs 用于在管理面板添加必要的功能菜单;
Migration.cs 在安装和升级模块时,提供数据库结构的构建和更新功能;
Module.txt 描述当前模块的元信息(名称、作者和版本等信息)的文本文件;
Permissions.cs 当前模块所需要使用的专有权限体系;
Placement.info 描述当前模块中所提供的 部件(Part) 应该在文档中所处的位置定义的 XML 文件;
ResourceManifest.cs 定义当前模块向系统声明以供公共使用的静态资源;
Route.cs 定义当前模块需要特意指定的路由规则;
web.config 用于支持模块开发和运行的 ASP.NET 配置文件。
除根目录的文件之外,我们所见到的文件夹,及其典型用途如下:
Content 放置当前模块需要用于的静态资源,如图片、静态HTML片断等。在该目录中默认放有将该目录及其子目录中的资源设置为静态资源的配置,因此请勿将任何代码文件置于该目录;
Controllers 存储当前模块需要用于处理客户端请求的 ASP.NET MVC 控制器。作为 ASP.NET MVC 中“约定胜于配置”的重要内容,控制器类应该继承自 System.Web.Mvc.Controller,命名应该是[ XXXXController **] **其控制器名称是前面的部分 XXXX ;
Drivers 放置用于指示如何显示和编辑当前模块中特有的 内容部分(ContentPart)的驱动程序。这些类继承自Orchard.ContentManagement.Drivers.ContentPartDriver<TContent> 泛型抽象基类,其命名规则通常是 内容部分 的名称加 Driver,如 BlogPostPartDriver ;
Extensions 当前模块中需要对系统部分功能添加的必要的扩展方法的类;
Handlers 存放当前模块特有的内容部分的数据相关的处理(如数据存取、索引和与其他内容部分的相关性等)程序。如果你需要为你的领域模型提供数据库存取能力、在内容的创建、编辑和删除,以及索引前后,订阅这些过程的事件并尝试进一步处理,就需要创建这些继承自 Orchard.ContentManagement.Handlers.ContentHandler 的处理程序;
Models 当前模块中所提供的独有的内容部分的领域模型类和对应的数据记录类。这与传统的 ASP.NET MVC 项目的 Models 文件夹的含义并无二致,但在 Orchard 模块开发中,我们可以使用系统提供的 ContentPart 基础设施轻松建立起与 CMS 处理管线高度集成的自己的 内容部分;
Scripts 当前模块的视图文件中可能用到或用于公开为公共使用的的脚本资源的文件。与 Content 目录类似,这是个特别的目录,它也被配置为静态资源存放位置,而且约定为专门存放脚本。在视图文件中,我们可以直接使用 Script.Include 来插入该目录中的脚本,而无需指定相对于应用程序的路径,也不用指定绝对的 URL;
Services 用于为控制器提供数据和其他领域模型间的逻辑操作的服务程序;
Styles 当前模块的视图文件中可能用到或用于公开为公共使用的的样式资源的文件;与 Scripts 目录类似,这是个约定为放置样式的静态资源存放目录。在视图文件中可以使用 Style.Include 来插入该目录中的样式文件;
ViewModels 供 MVC 视图使用的视图模型类;
Views 用于呈现的 MVC 视图文件(.cshtml 和 .vbhtml 文件存放位置)。该目录存放用于 Controllers 目录中的控制器使用的视图文件,以及当前模块独有模块的 内容部分 的显示和编辑的部件,也可用于存放供其他任何用于显示的文档片断。作为 ASP.NET 中“约定胜于配置”理念的内容之一,Views 目录结构应为 控制器名 \ Action名,即,在Views 目录下有一个子目录 Admin 用于存储 AdminController 中所有 Action 对应的视图,且这些视图的文件名称与 Action 的名称一致。
Orchard.Blogs 还包括了平时可能用的并不是很多的一些文件夹:
Command 指示并为当前模块可以提供给 Orchard 命令行的功能命令提供程序支持;
Routing 定义当前模块需要特意指定的路由规则的补充策略;