2017-10-18 132 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

相关问题