2017-10-18 163 views
0

我已經創建了一個自定義屬性編輯器並將其用作宏參數。該物業呈現罰款,並顯示一切,因爲它應該。Umbraco 7自定義屬性編輯器valueType未被使用

我遇到的問題是屬性數據的保存和反序列化。將數據保存爲解析爲html字符串的JSON。

我的JSON對象{test: "pass"}被轉換爲{"test":"pass"}

直到提交,所有事情都是應該的,但是當提交按鈕被按下時,html字符串被傳遞給/umbraco/backoffice/UmbracoApi/Macro/GetMacroResultAsHtmlForEditor端點。

這裏是我的package.manifest的樣子:

{ 
    propertyEditors: 
    [ 
     { 
      alias: "propertyAlias", 
      name: "Property Name", 
      icon: "icon-code", 
      isParameterEditor: true, 
      editor: 
      { 
       valueType: "JSON", 
       view: "path/to/editor" 
      } 
     } 
    ], 
    javascript: 
    [ 
     "path/to/controller" 
    ] 
} 

我試着與valueType財產玩耍,但是,這並不做任何事情......總是得到如上圖所示發送的請求。

回答

0

通過蒂姆的回答,似乎沒有太多可以在屬性編輯器配置中完成。

我決定解碼宏中的參數值,然後將其反序列化爲自定義模型。對於遇到此問題的其他人:

var parameterValue = Model.GetParameterValue<string>("paramAlias"); 
var parameterValueDecoded = WebUtility.HtmlDecode(parameterValue); 
var modelObject = JsonConvert.DeserializeObject<MyCustomModel>(parameterValueDecoded); 

不是最優化的解決方案,但它有效。

0

我認爲問題是宏參數作爲屬性嵌入在頁面的HTML中,因此數據將始終是HTML編碼。

您是否將該宏嵌入到富文本編輯器中?如果是這樣,那肯定會成爲問題。

+0

我沒有在RTE中嵌入宏,但它是網格的一部分。 – Shahzad

相關問題