public override global::Sitecore.Data.FieldList GetItemFields(global::Sitecore.Data.ItemDefinition itemDefinition, global::Sitecore.Data.VersionUri versionUri, CallContext context) { Setup(context); FieldList fields = new FieldList(); var sectionInfo = SectionTable.FirstOrDefault(x => x.SectionId == itemDefinition.ID); if (sectionInfo != null) { GetStandardFields(fields, sectionInfo.SectionSortOrder >= 0 ? sectionInfo.SectionSortOrder : (SectionTable.IndexOf(sectionInfo) + 100)); return(fields); } var fieldInfo = FieldTable.FirstOrDefault(x => x.FieldId == itemDefinition.ID); if (fieldInfo != null) { GetStandardFields(fields, fieldInfo.FieldSortOrder >= 0 ? fieldInfo.FieldSortOrder : (FieldTable.IndexOf(fieldInfo) + 100)); GetFieldFields(fieldInfo, fields); return(fields); } return(base.GetItemFields(itemDefinition, versionUri, context)); }
public override global::Sitecore.Collections.IDList GetChildIDs(global::Sitecore.Data.ItemDefinition itemDefinition, CallContext context) { if (Classes.Any(x => x.Value.TemplateId == itemDefinition.ID.Guid)) { var cls = Classes.First(x => x.Value.TemplateId == itemDefinition.ID.Guid).Value; return(GetChildIDsTemplate(cls, itemDefinition)); } var section = SectionTable.FirstOrDefault(x => x.SectionId == itemDefinition.ID); if (section != null) { return(GetChildIDsSection(itemDefinition, section)); } return(base.GetChildIDs(itemDefinition, context)); }
public override global::Sitecore.Data.ID GetParentID(global::Sitecore.Data.ItemDefinition itemDefinition, CallContext context) { var section = SectionTable.FirstOrDefault(x => x.SectionId == itemDefinition.ID); if (section != null) { return(section.TemplateId); } var field = FieldTable.FirstOrDefault(x => x.FieldId == itemDefinition.ID); if (field != null) { return(field.SectionId); } return(base.GetParentID(itemDefinition, context)); }
/// <summary> /// Gets the child ids of an item. /// </summary> /// <param name="itemDefinition">The item definition.</param> /// <param name="context">The context.</param> /// <returns>Sitecore.Collections.IDList.</returns> public override global::Sitecore.Collections.IDList GetChildIDs(global::Sitecore.Data.ItemDefinition itemDefinition, CallContext context) { // Setup(context); if (_typeConfigurations == null) return base.GetChildIDs(itemDefinition, context); if (_typeConfigurations.Any(x => x.Value.TemplateId == itemDefinition.ID)) { var cls = _typeConfigurations.First(x => x.Value.TemplateId == itemDefinition.ID).Value; return GetChildIDsTemplate(cls, itemDefinition, context); } var section = SectionTable.FirstOrDefault(x => x.SectionId == itemDefinition.ID); if (section != null) { return GetChildIDsSection(section, context); } return base.GetChildIDs(itemDefinition, context); }