Почему мой Enumerable не заполняется Glass.Mapper?
Я совершенно не понимаю, почему это не работает. У меня есть класс со списком других классов в качестве свойства этого:
public class Widget
{
....
public virtual IEnumerable<WidgetButton> Buttons { get; set; }
}
[SitecoreType(TemplateId = "{B615973D-59F6-437E-9827-BA3A40068C69}", AutoMap =true)]
public class WidgetButton : BasePage
{
[SitecoreField]
public virtual string Title { get; set; }
}
У моего элемента sitecore есть TreeListEx с одним элементом:
и я читаю этот пункт так:
Widget widgetTest = SitecoreContext.GetItem<Widget>(new Guid("{4FF5B96F-9606-4581-95F7-B6A7BAA4C28F}"));
мойWidget
(widgetTest
) содержит все данные из sitecore,но кнопки!? Свойство Buttons - это просто пустой список. Что мне не хватает, я перепробовал несколько конфигураций, публикацию и т. Д. СогласноGlass.Mapper учебники это должно работать
Glass.Mapper.Sc.CastleWindsor.config
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<pipelines>
<initialize>
<processor type="RR.Web.Website.App_Start.GlassMapperSc, RR.Web.Website" />
</initialize>
</pipelines>
</sitecore>
</configuration>
Glass.Mapper.Sc.Mvc.Config
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<settings></settings>
<pipelines>
<mvc.getModel>
<processor type="Glass.Mapper.Sc.Pipelines.Response.GetModel, Glass.Mapper.Sc.Mvc"/>
</mvc.getModel>
</pipelines>
</sitecore>
</configuration>
Переходя непосредственно к sitecore, я могу получить свой товар:
Sitecore.Data.Database context = Sitecore.Context.Database;
var item = context.GetItem(new ID("{4FF5B96F-9606-4581-95F7-B6A7BAA4C28F}"));
item
содержит поле с именемButtons
,value
этого поля - GUID элемента в древовидном списке ({3C18BF9F-9906-4807-83B9-73CA08E61C39}
).
Если я сделаю запрос напрямую, я смогу увидеть кнопку:
var buttonItem = context.GetItem(new ID("{3C18BF9F-9906-4807-83B9-73CA08E61C39}"));
так что все выглядит отлично! Почему стеклянный картограф не отображает это?