Как сопоставить поле правил Sitecore

У меня возникли проблемы с сопоставлением с полем данных Rules в Sitecore. У меня есть шаблон параметров рендеринга, в котором есть поле данных с именем «Правила перенаправления».

Я использую TDS и Glass для сопоставления объектов с Sitecore. В сгенерированном классе я получаю следующее:

/// <summary>
/// The Redirect Rule field.
/// <para></para>
/// <para>Field Type: Rules</para>      
/// <para>Field ID: 659373d6-c5c5-4851-aa1f-066f53218780</para>
/// <para>Custom Data: </para>
/// </summary>
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Team Development for Sitecore - GlassItem.tt", "1.0")]
    [SitecoreField(IMy_Name_Rendering_ParametersConstants.Redirect_RuleFieldName)]
    public virtual object /* UNKNOWN */ Redirect_Rule  {get; set;}

Когда я пытаюсь получить значение поля «Правила перенаправления» в рендеринге моего представления через

GetRenderingParameters<My_Name_Rendering_Parameters>();

свойство «Правила перенаправления» имеет значение null. Я убедился, что поле заполнено правилами, изучив его в редакторе опыта.

Любая подсказка о том, что может происходить?


person Craig Taylor    schedule 03.04.2015    source источник


Ответы (1)


Крейг. Посмотрите здесь модифицированный шаблон T4, который сопоставляет поле Rules со строковым значением: https://gist.github.com/patrickperrone/9626cccbd044cc418539

Вот мой сообщение в блоге который охватывает это немного более подробно.

Выдержка из моего поста:

Основная проблема заключается в том, что шаблон glassv3item.tt не знает, что делать с полем Rules. Метод GetGlassFieldByType отвечает за присвоение типа отображаемому полю. Это делается с помощью оператора switch. Наше поле правил полностью соответствует случаю default, который сопоставляет поле с object. Нам нужно добавить случай для значения field.Type, когда оно равно «правилам».

Краткий ответ: я использую тип string в качестве отображаемого field.Type, когда значение равно «правилам».

Вы можете увидеть это сами в строках 246-247 здесь.

person Patrick Perrone    schedule 03.04.2015
comment
Не могли бы вы добавить подробности/эксплуатацию в свой ответ здесь, пожалуйста - person Flexo; 08.05.2015