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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
        /// <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);
        }