Sitecore 使用Glass.Mapper获取内部链接
我在Sitecore中设置了一个内部链接,我正在尝试使用Glass.Mapper来映射该字段,但它总是空着,我不确定我做错了什么 Sitecore中的模板非常简单: 链接的源设置为仅允许创建基于“系统”模板的内容的文件夹Sitecore 使用Glass.Mapper获取内部链接,sitecore,sitecore6,glass-mapper,Sitecore,Sitecore6,Glass Mapper,我在Sitecore中设置了一个内部链接,我正在尝试使用Glass.Mapper来映射该字段,但它总是空着,我不确定我做错了什么 Sitecore中的模板非常简单: 链接的源设置为仅允许创建基于“系统”模板的内容的文件夹 public partial class Status { public virtual string Description { get; set; } public virtual string StatusCode { get; set; } p
public partial class Status
{
public virtual string Description { get; set; }
public virtual string StatusCode { get; set; }
public virtual MySystem System { get; set; }
}
public class MySystem{
public virtual string Url { get; set; }
public virtual string MyField { get; set; }
}
在我的代码中,我设置了一个对象:
namespace Playground.GlassObjects
{
public partial class Status
{
public virtual string Description { get; set; }
public virtual string StatusCode { get; set; }
public virtual Glass.Mapper.Sc.Fields.Link System { get; set; }
}
}
基本上是这样使用的:
public void DoStuff(Sitecore.Data.Items.Item item)
{
var status = item.GlassCast<Status>();
this.DoOtherStuff(status);
}
public void DoStuff(Sitecore.Data.Items.Item)
{
var status=item.GlassCast();
这个。DoOtherStuff(状态);
}
我遇到的是glassObj.Description
,和glassObj.StatusCode
正在按照我想要/期望的方式连接,但是glassObj.System
不是
有人能告诉我我做错了什么吗?我现在不知所措,因为幕后正在发生的所有魔法。Glass.Mapper.Sc.Fields.Link类设计用于处理常规链接字段。内部链接字段将值存储为路径,例如/sitecore/content/home/events。这意味着它与Link类不兼容 相反,您应该将它映射到您创建的另一个类
public partial class Status
{
public virtual string Description { get; set; }
public virtual string StatusCode { get; set; }
public virtual MySystem System { get; set; }
}
public class MySystem{
public virtual string Url { get; set; }
public virtual string MyField { get; set; }
}
Glass.Mapper.Sc.Fields.Link类设计用于处理常规链接字段。内部链接字段将值存储为路径,例如/sitecore/content/home/events。这意味着它与Link类不兼容 相反,您应该将它映射到您创建的另一个类
public partial class Status
{
public virtual string Description { get; set; }
public virtual string StatusCode { get; set; }
public virtual MySystem System { get; set; }
}
public class MySystem{
public virtual string Url { get; set; }
public virtual string MyField { get; set; }
}
您能确认该字段已设置值吗?如果您查看原始字段值,您会看到什么?@RuudvanFalier我在DoStuff()中设置了一个断点并查看了参数,这就是我看到的:您能确认字段设置了值吗?如果查看原始字段值,您会看到什么?@RuudvanFalier我在DoStuff()中设置了一个断点,并查看了参数,这是我看到的: