コード例 #1
0
ファイル: GetItem.cs プロジェクト: sargeles/Sitecore.Rocks
        private static void GetRootItem([NotNull] XmlNode child, [NotNull] Field field)
        {
            Assert.ArgumentNotNull(child, nameof(child));
            Assert.ArgumentNotNull(field, nameof(field));

            var root = child.SelectSingleNode(@"root/item");

            if (root == null)
            {
                return;
            }

            var databaseUri = field.FieldUris.First().ItemVersionUri.ItemUri.DatabaseUri;

            var urlString = new UrlString(field.Source);

            var databaseName = urlString[@"databasename"];

            if (!string.IsNullOrEmpty(databaseName))
            {
                databaseUri = new DatabaseUri(databaseUri.Site, new DatabaseName(databaseName));
            }

            field.Root = GetItemHeader.Call(root, databaseUri);
        }
コード例 #2
0
ファイル: GetItem.cs プロジェクト: sargeles/Sitecore.Rocks
        private static void GetBaseTemplates([NotNull] XmlElement root, [NotNull] Item item)
        {
            Assert.ArgumentNotNull(root, nameof(root));
            Assert.ArgumentNotNull(item, nameof(item));

            item.BaseTemplates = new List <ItemHeader>();

            var templates = root.SelectNodes(@"/basetemplates/template");

            if (templates == null)
            {
                return;
            }

            foreach (XmlNode template in templates)
            {
                item.BaseTemplates.Add(GetItemHeader.Call(template, item.Uri.ItemUri.DatabaseUri));
            }
        }