点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
当您在CMS项目上编辑"字符串类型"(本地化/未本地化)的属性时,空字符串值将存储为""(空字符串)而不是空值。 这意味着属性值不为null; 因此它将无法从后备语言中获取价值! 这不仅发生在自定义组件上,还发生在所有OOTB组件上。
如果您对Backoffice中的组件进行了一些更改并保存,则后备语言会按预期工作。 调试了SmartEdit(位于CMSFacade)发送的有效负载; 它确实包含应为 attribute:null
attribute:""
我可以在这里考虑几种解决方案:
-
cmsContentItemTypePopulatorsMap
?的自定义填充器。 但是考虑到我需要查找所有String,String属性的集合并将它们设置为null的事实,我发现这是一个开销 -
扩展GenericEditor? 但是我找不到任何文档可以使它更容易理解:-(.。我认为确保空字符串作为最佳解决方案发送为null,而不必在后端执行太多逻辑, 就像其他后台系统如何工作
感谢任何帮助/输入。
hybris版本:1811.1
谢谢
最好的问候, 珊
嗨,
实施一种解决方案,因为杂音识别为错误。 实际上不知道何时以及是否修复它。 杂种的官方提议的解决方法是
"而不是创建自定义填充器并验证所有属性,然后查找所有String(就像提到的解决方案一样,在调试过程中,我在DefaultCMSItemConverter类-> transformLocalizedValue()方法[第484行]上找到了对'value'的验证) 如果为空,则将其设置为null(利用该迭代而不是添加另一个迭代),并且将其保存为null,因此您可以尝试扩展DefaultCMSItemConverter。"
最诚挚的问候,比约恩(Björn)
在后台更新产品说明时发现了类似的问题。 可能是由于编辑器。 有什么建议吗?
嗨,另一种可能性是像
一样覆盖DefaultLocalizedPopulator一周热门 更多>