如何映射到Sitecore规则字段

问题描述:

我在映射到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>(); 

获得在我看来渲染“重定向规则”字段的值“重定向规则”属性空值。我已经通过在体验编辑器中检查它来验证该字段是否有规则。

任何线索可能会发生什么?

克雷格。在这里找一个修改后的T4模板,将规则字段映射为字符串值:https://gist.github.com/patrickperrone/9626cccbd044cc418539

这里是我的blog post,它涵盖了更多细节。

从我的文章摘录:

的基本问题是,glassv3item.tt模板不知道如何 应对Rules领域。负责将类型分配给映射字段的GetGlassFieldByType方法是 。它使用 switch声明执行此操作。我们的规则字段一路下降到 default的情况下,该字段映射到object。当它等于“规则”时,我们需要为field.Type值添加 大小写。

简短回答:我使用string类型作为映射field.Type当值等于“rules”时。

你可以在行246-247 here上看到这个。

+0

您可以在这里添加详细信息/利用您的答案 – Flexo 2015-05-08 20:34:03