添加自定义块时自定义 config.js 未初始化,但在刷新时出现
Posted
技术标签:
【中文标题】添加自定义块时自定义 config.js 未初始化,但在刷新时出现【英文标题】:Custom config.js not initialized when adding custom block, but appears on refresh 【发布时间】:2019-10-28 11:50:24 【问题描述】:我正在尝试在故事应用程序中添加额外的块类型,我已经设法做到了。这是 YAML 定义:
class: info.magnolia.editor.block.stock.FieldSetBlockDefinition
templateId: content-components:blocks/storyText
icon: content-item
fields:
storyText:
class: info.magnolia.ui.form.field.definition.RichTextFieldDefinition
configJsFile: /.resources/assets/js/ckEditorConfigStory.js
label: Rich text
这很好用,只是自定义 JS 配置一开始没有初始化。
当进入内容编辑器应用程序并添加这个新的块类型时,它不会呈现 CKEditor,但是,如果我在创建块后刷新页面,它就可以工作。
我相信这可能是一个错误,但也许我遗漏了一些东西。
【问题讨论】:
【参考方案1】:您的 magnolia.properties 是什么样的?您可能需要查看magnolia.develop
here。您使用的是哪个版本的 Magnolia?
【讨论】:
magnolia.develop 设置为 false,据我了解,它应该保持这种状态,因为性能可能会受到影响。我们正在使用 5.7.2,当 6.3 发布时将切换到 6。我已经向 Magnolia 团队的某个人发送了一封邮件,因为我认为这可能是一个错误。magnolia.develop
在开发时可以是true
,以解决您所说的问题(更改此属性后需要重新启动 Magnolia):``` 启用 ClasspathScanner,开发时通过IDE 和更改/部署基于类路径的已编辑资源。禁用资源缓存。```
我们解决了,问题来自于我们使用的是 5.7.2,我们切换到 5.7.5 并修复了它。来自文档:请注意,自 Magnolia 5.7.3 起,内容编辑器支持基于 CKEditor 的 RichTextFieldDefinition。【参考方案2】:
5.7.3 及更高版本支持带有 CKeditor 的 Richtext 字段,我们使用的是 5.7.2,升级到 5.7.5 解决了该问题。
请注意,自 Magnolia 5.7.3 起,内容编辑器支持基于 CKEditor 的 RichTextFieldDefinition。
From the docs
【讨论】:
以上是关于添加自定义块时自定义 config.js 未初始化,但在刷新时出现的主要内容,如果未能解决你的问题,请参考以下文章
快速滚动ios时自定义单元格中的UITextField值出现问题
调用 reloadData 时自定义 UITableViewCell 内存泄漏