如何映射到Sitecore规则字段

时间:2015-04-03 18:20:20

标签: sitecore sitecore8 glass-mapper sitecore-mvc tds

我在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;属性为空。我已经验证了该字段是通过在体验编辑器中检查它来填充规则的。

有关可能发生的事情的任何线索?

1 个答案:

答案 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上自行查看。