在为项目动态模块创建模型时,如何处理分层模块?
假设我们有一个名为Careers的模块,其父ContentType为“Jobs”,子项为“Applications”。
答案 0 :(得分:3)
要设置模型层次结构,您需要在您创建的动态模型上实现IHierarchy
接口。这意味着您将拥有Parent
类型的DynamicModel
属性。
在构造函数中,通过将SystemParentItem
传递给您在其他地方创建的父模型的构造函数(以映射属性值),将JobModel
分配给父项。
以下是public class JobModel : DynamicModel, IHierarchy
{
public string Description { get; set; }
public DynamicModel Parent { get; set; }
public override string MappedType
{
get
{
return "Telerik.Sitefinity.DynamicTypes.Model.Applications.Job";
}
}
public JobModel()
: base()
{
}
public JobModel(DynamicContent sfContent)
: base(sfContent)
{
if (sfContent != null)
{
Description = sfContent.GetStringSafe("Description");
Parent = new CareerModel(sfContent.SystemParentItem);
}
}
}
的示例:
{{1}}