Список заполнения картографа стекла из пути ссылки

Я пытаюсь заполнить список моей текущей модели подпунктами из другой папки.

В моей текущей модели я хочу определить поле типа General Link, в котором я выберу элемент из Sitecore, который имеет разные подпункты. "Общедоступный виртуальный список IEnumerable" должен быть заполнен вышеуказанными подпунктами.

Я читал различные посты, связанные с тем, как вы можете сделать следующий тип запросов:

[SitecoreQuery ("./*[@@ templatename = 'Отзыв']", IsRelative = true)]
общедоступный виртуальный IEnumerable Children { get; задавать; }

но это не относится к моему случаю, потому что, скорее всего, у меня будет этот шаблон в разных областях, которые я не хочу включать сюда.

Кто-нибудь знает, возможно ли это со стеклом, или я должен просто использовать пользовательский запрос, чтобы заполнить список подпунктами элемента?

1 ответ

Решение

Если вы используете поле droplink или droptree, а не General Link, вы можете делать то, что хотите, создавая общую модель папки.

namespace MySite.Models
{
    [SitecoreType(AutoMap = true)]
    public class Folder<T> : GlassBase
    {
        [SitecoreChildren]
        public virtual IEnumerable<T> Children { get; set; }
    }
}

А затем использовать его из другой модели, например, так:

[SitecoreField("My Link Field")]
public virtual Folder<ChildModel> MyLinkField { get; set; }
Другие вопросы по тегам