我在Sitecore中映射到Rules
数据字段时遇到了一些问题。我有一个渲染参数模板,其中包含一个名为"重定向规则的数据字段。"
我使用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;}
当我尝试获取&#34;重定向规则&#34;的值时我的视图中的字段通过
呈现GetRenderingParameters<My_Name_Rendering_Parameters>();
&#34;重定向规则&#34;属性为空。我已经验证了该字段是通过在体验编辑器中检查它来填充规则的。
有关可能发生的事情的任何线索?
答案 0 :(得分:2)
克雷格。在这里查看修改后的T4模板,该模板将Rules字段映射到字符串值:https://gist.github.com/patrickperrone/9626cccbd044cc418539
以下是我的blog post,其中详细介绍了这一点。
摘自我的帖子:
基本问题是glassv3item.tt模板不知道如何 处理
的情况Rules
字段。GetGlassFieldByType
方法是 负责为映射字段分配类型。它用一个switch
声明。我们的规则领域一直在下降default
案例,将字段映射到object
。我们需要添加一个field.Type
值等于&#34;规则&#34;。
简短回答:当值等于&#34;规则&#34;时,我使用string
类型作为我的映射field.Type
。
您可以在第246-247行here上自行查看。