Список заполнения картографа стекла из пути ссылки
Я пытаюсь заполнить список моей текущей модели подпунктами из другой папки.
В моей текущей модели я хочу определить поле типа 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; }