使用glassmapper在Sitecore MVC中重用多个模型的视图

时间:2015-08-27 22:24:15

标签: asp.net-mvc sitecore sitecore7 glass-mapper sitecore8

我无法确定如何使用glassmapper在sitecore 8解决方案中重复使用视图。我有两个包含相同数据的对象,但根据模板的不同,字段的名称也不同。例如,标题与标题。

当页面编辑器不是一个因素时,这是相对简单的,因为我可以将一个对象映射/转换为另一个对象,但这似乎扼杀了页面编辑器。

最明显的路径是使用here所述的接口和扩展方法,但这需要创建一个真正的接口厨房接收器。

还有其他建议吗?我不想复制视图只是为了改变它使用的属性。

2 个答案:

答案 0 :(得分:1)

同意Jammykam在上面评论中提出的建议 - 最简单的方法是将模板字段重命名为相同。

所以,根据你的例子,他们将被称为标题;对于内容编辑者,您可以使用特定字段的帮助显示名称,因此仍会将其视为标题标题,尽管实际上它们都被称为系统的标题。当然,如果您的解决方案可以允许重命名...通过链接更多关于此方法:http://goo.gl/b28s2y(最后一部分)。

另一个需要考虑的选择 - 您可以考虑在您的玻璃模型之上的代理对象,它们会将您的字段名称重新映射到您想要的任何内容。因此,将具有相同名称的代理对象传递给视图。

但是,对你来说,在最困难的情况下,接口可能是一个答案

答案 1 :(得分:0)

或者,如果字段相同,则可以在模板的字段属性上更改其标题。这样,当我创建模板X的项目时,我将在模板X上分配Field标题,而FieldName本身保持不变。

但如果我必须这样做,我宁愿使用Interfaces with Glass。