现在的Orchard CMS系统是个什么状态?

作者:jcmp      发布时间:2021-05-22      浏览量:0
Orchard是由微软于2009始启动,

Orchard是由微软于2009始启动,使用最新.NET技术栈实现的免费开源内容管理系统。项目开发人员多数来自 http:// ASP.NET 团队,是继Petshop,Oxite之后的重磅开源项目!

它整合了上百个开源项目,如autofac,nhibernate等,它拥有非常复杂的模块机制,可以动态编译模块,因此只需将代码发布即可运行。

同时在CMS系统架构上,它抽象了内容类型(ContentTypes),Orchard认为一切内容皆由ContentPart与ContentField构成,你可以自由的设计内容类型,这是它相比其它CMS强大的原因之一!

在拥有了极灵活的内容管理机制后,Orchard也拥有极复杂的渲染机制,首先它采用了类似Photoshop作图方法的图层思想,任何Url都对应一条Content或者Projection,同时也将满足Layer层级规则的层“叠加“,最终输出的视图模型(ViewModel)将是一个多层结构的,且每层都拥有多个Zone的数据结构。

ps:看起来就像一本书,一页纸就是一个Layer,每页纸上有N个Zone,所有纸的Zone都是固定的,在theme.txt里面定义好的,每个Zone里面拥有N个Widget。

1、Layer

2、Zone

3、Widget

4、Content

5、Part+Field

以上树中每一类结构都将对应一个形状(Shape),在渲染此模型时采用形状候补(Alternates)规则来命中html模板,在渲染ProjectionWidget(通常是一个列表)时,则寻找。

6、Widget Wrapper类型的形状

7、Widget形状

8、List形状

在寻找这些形状的时候,又有寻找规则,即先前所述的候补规则,如某个Projection的Id为18,那么在寻找List模板的时候会去找 List-18.cshtml(更多规则参考文档)。