TYPO3 8中CKEditor允许img标签且不启用Image插件的配置问题
解决TYPO3 8中CKEditor源码模式保留img标签(不启用Image插件)的方案
我之前帮不少开发者处理过TYPO3里CKEditor的这类配置问题,你遇到的情况核心原因是:TYPO3对CKEditor的内容过滤有额外的层级控制,只设置config.extraAllowedContent没法绕过它自带的转换规则。下面是具体的解决步骤:
1. 调整CKEditor的YAML核心配置
找到你的自定义CKEditor配置文件(一般在typo3conf/ext/你的扩展/Configuration/RTE/目录下,或者全局RTE配置文件),添加以下配置项:
editor: config: # 允许所有img标签的属性与样式,按需可限制为特定属性,比如img[src,alt,width] extraAllowedContent: 'img[*]{*}' # 明确禁用Image插件,避免冲突 removePlugins: 'image' # 关键:关闭TYPO3自带的图片内容转换规则 content_transformations: tx_ckeditor_image: disabled: true
这里的content_transformations是关键——TYPO3默认会通过这个规则清理未关联Image插件的img标签,必须禁用它才能让自定义的img标签留存。
2. 配置TYPO3后端内容过滤规则
除了CKEditor本身,还要让TYPO3的后端内容处理流程允许img标签。在站点的TSconfig或者全局配置里添加:
RTE.default.proc.allowTags := addToList(img) RTE.default.proc.allowTagsOutside := addToList(img)
这一步是确保TYPO3不会把img标签判定为非法标签而过滤掉。
3. 清除缓存并验证效果
完成配置后,务必清除TYPO3的所有缓存(包括页面缓存、配置缓存),然后测试:
- 切换到CKEditor源码模式,输入自定义的img标签,比如
<img src="test.jpg" alt="测试图片"> - 切换回可视化模式,再切回源码模式,检查img标签是否还存在
额外提醒
- 确保使用的
rte_ckeditor扩展版本与TYPO3 8兼容 - 绝对不要启用Image插件,否则会和自定义的img标签处理逻辑冲突
- 如果问题依旧,检查是否有第三方扩展(比如SEO类插件)修改了RTE的过滤规则
内容的提问来源于stack exchange,提问作者Stefanos Karasavvidis
相关产品推荐
相关产品推荐

