問題
- カスタムストラクチャに基づいてWebコンテンツを編集・作成する場合、情報に不整合が生じたり、フィールドが無効になって編集できなくなったり、関連するエラーが発生することがあります
- 以下は編集する必要があるにも関わらず、そのコンテンツが無効になっているWebコンテンツの例です:
-
また、コンソールには、次のようなjavascriptのエラーが表示されています
Uncaught SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at component.getParsedValue (?browserId=other&minifierType=&languageId=en_US&b=7210&t=1598515940278&/o/frontend-js-web/aui/aui-tree-io/aui-tree-io-min.js&/o/frontend-js-web/aui/aui-tree-paginator/aui-tree-paginator-min.js&/o/frontend-js-web/aui/aui-tree-node/aui-tree-node-min.js&/o/frontend-js-web/aui/aui-tree-view/aui-tree-view-min.js&/o/layout-taglib/layouts_tree/js/layouts_tree.js&/o/layout-taglib/layouts_tree/js/layouts_tree_node_radio.js&/o/layout-taglib/layouts_tree/js/layouts_tree_radio.js&/o/layout-taglib/layouts_tree/js/layouts_tree_node_task.js&/o/layout-taglib/layouts_tree/js/layouts_tree_selectable.js&/o/dynamic-data-mapping-web/js/ddm_form.js&/o/frontend-js-web/aui/autocomplete-sources/autocomplete-sources-min.js&/o/frontend-js-web/aui/autocomplete-list/lang/autocomplete-list_en.js&/o/frontend-js-web/aui/shim-plugin/shim-plugin-min.js&/o/frontend-js-web/aui/autocomplete-list/autocomplete-list-min.js&/o/frontend-js-web/aui/autocomplete-list-keys/autocomplete-list-keys-min.js:96)
{...}
環境
- Liferay DXP 7.1
- Liferay DXP 7.2
解決
- いくつかのケースでは、これらのエラーの根本的な原因はカスタムストラクチャのコード内にあります。 多くの場合、空の文字列が正しく指定されず、javascriptの解析エラーが発生し、問題のあるシナリオが発生します
- これは、ストラクチャのフィールドが空の文字列に対して 不正確な 形式である例です
{
"label": {
"es_ES": " Version pdf "
},
"predefinedValue": {
"es_ES": " "
},
"style": {
"es_ES": ""
},
"tip": {
"es_ES": " "
},
"dataType": "document-library",
...
"type": "ddm-documentlibrary"
}
} -
正確な例
{
"label": {
"es_ES": " Version pdf "
},
"predefinedValue": {
"es_ES": ""
},
"style": {
"es_ES": ""
},
"tip": {
"es_ES": ""
},
"dataType": "document-library",
...
"type": "ddm-documentlibrary"
}
} - 要約すると、空の文字列は""と指定し、中に空白を入れないようにしなければなりません