4

我将 Sitecore 媒体库图像的裁剪信息存储在添加到/sitecore/templates/System/Media/Unversioned/Image模板的字段中。

我想访问此字段以及Glass.Mapper.Sc.Fields.Image复杂字段类型中存在的所有其他属性,以便我可以继续GlassHtml.RenderImage()在我的视图中使用。

我最初从该类继承的尝试没有成功——它似乎破坏了映射行为——所以我想知道是否有另一种方法可以用其他属性来扩展这个类?

这是我尝试过的:

[SitecoreType(AutoMap = true)]
public class MyImage : Glass.Mapper.Sc.Fields.Image
{
    public virtual string CropInfo { get; set; }
}
4

1 回答 1

4

您将需要实现自定义数据处理程序来映射附加字段。

我将创建一个继承自标准图像数据处理程序的数据处理程序:

https://github.com/mikeedwards83/Glass.Mapper/blob/master/Source/Glass.Mapper.Sc/DataMappers/SitecoreFieldImageMapper.cs

然后自定义GetFieldSetField.

创建自定义数据处理程序后,您需要将其注册到 Windsor 容器。请参阅教程 19 了解如何执行此操作:

http://glass.lu/docs/tutorial/sitecore/tutorial19/tutorial19.html

重要的部分:

public static void CastleConfig(IWindsorContainer container){
        var config = new Config();

        container.Register(
          Component.For < AbstractDataMapper>().ImplementedBy<TweetsDataHandler>().LifeStyle.Transient
          );

        container.Install(new SitecoreInstaller(config));
} 
于 2013-09-12T13:22:42.143 回答