0

我在映射到RulesSitecore 中的数据字段时遇到了一些问题。我有一个渲染参数模板,它有一个名为“重定向规则”的数据字段。

我正在使用 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>();

“重定向规则”属性为空。我已通过在体验编辑器中检查该字段来验证该字段是否填充了规则。

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

4

1 回答 1

2

克雷格。在此处查找将规则字段映射到字符串值的修改后的 T4 模板:https ://gist.github.com/patrickperrone/9626cccbd044cc418539

这是我的博客文章,其中更详细地介绍了这一点。

摘自我的帖子:

基本问题是 glassv3item.tt 模板不知道如何处理该Rules字段。该GetGlassFieldByType方法负责为映射字段分配类型。它通过 switch声明来做到这一点。我们的规则字段一直下降到default将字段映射到object. field.Type当它等于“规则”时,我们需要为该值添加一个案例。

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

您可以在此处的第 246-247 行亲自查看。

于 2015-04-03T18:29:56.130 回答