ZKEACMS默认的文章列表和产品列表的模板,在实际产线中未必能满足您的需求,这时候就要添加新的模板了。在开发过程中,添加这样的模板其实很简单。

数据源

显示模板的下拉菜单的数据源来自DataDictionary表。

DicName的格式为 {Entity}@{Property}。如产品列表的就是ProductListWidget@PartialView,而文章列表的就是 ArticleListWidget@PartialView ,所以,直接往这个表里面插入一条新的记录,可以了。

DicValue 为模板的名称,如:置顶文章的模板是 Widget.ArticleTops.cshtml,那DicValue值为 Widget.ArticleTops,

可以使用下列查询语句查看现有数据

SELECT * FROM dbo.DataDictionary WHERE DicName LIKE N'%@%' AND DicValue LIKE N'Widget.%'

模板

添加了新的数据源,还需要添加一个新的模板文件,不然会因为找不到对应的模板文件(.cshtml)而报错。

在对应模块的Views文件夹下,添加新的模板文件,文件名要确保和DataDictionary表里面的一致

让其它组件支持自定义模板

您可能已经发现了,并不是所有的组件都有“显示模板”这个属性的。那如何开启让它们都支持呢?

找到对应组件的实体类,如:ArticleListWidget。在ViewConfigure()下添加一行代码即可。

ViewConfig(m => m.PartialView).AsDropDownList().Order(NextOrder()).DataSource(SourceType.Dictionary);

代码的意思就是,用下拉框显示这个字段,数据源从DataDictionary取。

最后别忘了加一条默认的数据进去。