BoltCMS中CKEditor默认丢弃<section>标签与数据属性的配置咨询
解决Bolt CMS中CKEditor不保存标签及截断数据属性的问题
没问题,这两个需求都可以通过配置CKEditor的内容过滤规则来实现,下面分两种场景给你具体操作步骤:
1. 全局配置(所有CKEditor实例生效)
如果你希望所有富文本字段都能支持
- 打开项目根目录下的
app/config/config.yml - 找到(如果没有就新增)
ckeditor配置块,添加内容过滤规则:
这里的ckeditor: config: # 允许<section>标签及其所有属性(包括data-*前缀的自定义属性) extraAllowedContent: 'section[*];'section[*]表示放行标签, *匹配该标签的所有属性(包括各种数据属性)。如果还需要放行其他带属性的标签,可以用分号分隔,比如section[*];div[data-id,data-foo];。
2. 单个字段配置(仅指定字段生效)
如果只需要给特定内容类型的某个富文本字段开权限,更推荐这种方式,安全性更高:
- 打开
app/config/contenttypes.yml,找到你要修改的内容类型(比如pages或entries) - 在目标富文本字段的配置里,新增
editor.config节点:pages: name: Pages fields: body: type: richtext label: 页面内容 editor: config: extraAllowedContent: 'section[*];'
最后一步:清除缓存
修改配置后,记得通过Bolt后台的「Clear Cache」按钮,或者执行命令行指令清除缓存,确保配置生效:
# Bolt 4+版本 php bin/console cache:clear # Bolt 3及更早版本 php app/console cache:clear
注意:如果直接设置
allowedContent: true会完全禁用CKEditor的内容过滤,虽然能解决问题但安全性较低,不推荐在有多个编辑者的场景使用。
内容的提问来源于stack exchange,提问作者T.O.M.
相关产品推荐
相关产品推荐

