【问题标题】:How to map to Sitecore Rules Field如何映射到 Sitecore 规则字段
【发布时间】:2016-02-28 19:35:52
【问题描述】:

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

当我尝试通过

获取视图渲染中“重定向规则”字段的值时
GetRenderingParameters<My_Name_Rendering_Parameters>();

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

有什么线索吗?

【问题讨论】:

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


    【解决方案1】:

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

    这是我的blog post,它更详细地介绍了这一点。

    摘自我的帖子:

    基本问题是 glassv3item.tt 模板不知道如何 处理Rules 字段。 GetGlassFieldByType 方法是 负责为映射字段分配类型。它用一个 switch 声明。我们的规则字段一直下降到 default case 将字段映射到object。我们需要添加一个 field.Type 值等于“规则”时的大小写。

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

    您可以在第 246-247 行 here 亲自查看。

    【讨论】:

    • 您能否在此处将详细信息/利用添加到您的答案中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多