目前,CMS(即添加程序中的“内容”app)支持添加三种类型的区块:

除了第三种因为数据和模板固定外,前两种都可以扩展。

一、手动添加的区块

你在添加内容区块的时候,会出现一个选择框:

这12个区块,在控制器中,则对应着如下Section部分的内容:

这些需要添加的数据,领域模型在 ContentApp 下里(见下图选中部分):


二、聚合的区块

而在添加聚合区块的时候,出现如下选择列表:

一个聚合区块,由数据源和对应的view模板构成。

1)所谓数据源,其实就是,一个类的返回数据的方法,比如 wojilu.Apps.Blog.Service.BlogPostService 类中如下方法:

这个方法返回一个数据列表,已经可以作为数据源了。
当然,你仅仅写了这么一段代码,是不会在上面的数据源下拉列表中出现的,你还要将它注册到数据源配置文件中,即 /framework/data/wojilu.SOA.Service.config 中,我们看下图第二行就是。


2)显示模板
一个数据源,可以配合多个模板显示,比如上面的 “最新博客帖子”,可以结合三种页面模板显示,如下图:

在数据源注册文件中,属性 Note 规定了模板的类型:

Note的三个值(List/List2/Excerpt)分别代表了简单列表、双列列表、摘要列表三种显示模板。