如何映射到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上看到这个。
您可以在这里添加详细信息/利用您的答案 – Flexo 2015-05-08 20:34:03