为什么Glassmapper的编辑场犯规调用Sitecore的RenderField管道
问题描述:
在Sitecore的MVC中,我们使用以下构建我们的观点,显示场数据:为什么Glassmapper的编辑场犯规调用Sitecore的RenderField管道
@ Glass.Mapper.Sc.Mvc.GlassView.Editable( S => s.Field)
可惜,这似乎并没有调用RenderFieldPipeline,除非我用
@ HTML。@ Sitecore.Field( “场”,项目)
有没有办法用glassmapper的Editable构造调用RenderFieldPipeline?只是好奇为什么通用汽车会这样做。
感谢
答
出于性能方面的考虑,renderField管道没有被设计调用(除了在编辑模式下)。见this discussion on GitHub。
正如在GitHub的问题提到的,如果你只需要这个单行文本字段,您就可以激活你的注释的设置:
[SitecoreField(Setting = SitecoreFieldSettings.ForceRenderField)]
public virtual string MyField { get; set; }
你还可以:
- 使用你自己的扩展方法as described here;
- Create a custom mapper它可以处理您的转换需求。
- 创建一个扩展方法,然后通过覆盖Glass调用管道,as detailed in this blog post。
确切的方法将取决于您的舒适程度和您需要使用管道的确切原因。