2015-04-03 159 views
0

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

獲得在我看來渲染「重定向規則」字段的值「重定向規則」屬性空值。我已經通過在體驗編輯器中檢查它來驗證該字段是否有規則。

任何線索可能會發生什麼?

回答

2

克雷格。在這裏找一個修改後的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