可见Orchard运行于ASP.NET之上,使用了几个包括包括ASP.NET MVC在内的开源框架或类库。位于Orchard最底层的是Orchard框架(Orchard.Framework程序集),其上是核心模块(Core Modules)以及来自官方或非官方的其余模块(Modules)。实际上咱们能够在任何一层上进行开发,一般咱们是在Modules层开发,建立新的Module或Theme或修改已经存在的Module或Theme。
2、Orchard基础
Orchard CMS基于现有的框架和库构建,包括ASP.NET MVC,NHibernate,Autofac,Castle等。
3、Orchard框架(Orchard.Framework程序集)
Orchard.Framework程序集位于Orchard最底层,它包含应用程序引擎以及不适合分离到模块的功能。这些都是最基础的东西,甚至连最基本的模块将不得不依赖它。你能够把它看做是Orchard的基础类库。
4、Orchard核心模块(Orchard.Core项目及Orchard.Core程序集)
Orchard.Core项目中包含了一组Orhcard运行所必须的模块。其它模块能够安全地依赖到这些模块上,由于这些模块老是可用的。好比 feeds,navigation,routable模块。固然,就像上面所说,咱们能够基于Orchard的任何一层进行开发,若是有必要,咱们彻底能够本身来设计"Core"。
5、模块(Moduls)
Orchard默认发行版包含了一些像blogging、pages的内置模块,而且也能很方便的建立第三方模块。
模块就是用于扩展Orchard的包含module.txt文件的ASP.NET MVC Area。
模块一般包含事件处理程序(event handlers),内容类型(content types)和它们的默认渲染模板以及一些管理界面(Admin UI)。
对模块".csproj"文件或".csproj"引用文件的修改都能使模块自动被动态编译。也就是说能够不将模块编译成静态程序集甚至能够不使用Vistual Studio来建立或编辑模块。
6、主题(Themes)
主题可让Orchard用户自定义站点显示界面,量身定制他们想要的站点风格。主题还能够有针对性的对Orchard模块所提供的任何模板进行样式重写、甚至是改变图像、布局等。