如何使用Babaganoush在Sitefinity中处理分层模块
本文关键字:处理 分层 模块 Sitefinity 何使用 Babaganoush | 更新日期: 2023-09-27 18:13:06
在为项目动态模块创建模型时,如何处理分层模块?
假设我们有一个名为Careers的模块,其父ContentType为"Jobs",子ContentType则为"Applications"。
要设置模型的层次结构,您需要在创建的动态模型上实现IHierarchy
接口。这意味着您将拥有类型为DynamicModel
的Parent
属性。
在构造函数中,通过将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);
}
}
}