添加自定义块时自定义 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.develophere。您使用的是哪个版本的 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 未初始化,但在刷新时出现的主要内容,如果未能解决你的问题,请参考以下文章

添加 CSS 时自定义代码编辑器无法正常工作和中断

快速滚动ios时自定义单元格中的UITextField值出现问题

以编程方式添加控制器视图时自定义自动布局约束被破坏

调用 reloadData 时自定义 UITableViewCell 内存泄漏

编辑单元格时自定义 UITableViewCell 反向缩进

Paypal IPN - 返回时自定义为空