ModX富文本模板变量丢失Schema标签及属性问题求助
解决MODX富文本编辑器过滤Schema标签与自定义HTML的问题
嘿,作为刚上手MODX的新手,碰到富文本编辑器把你需要的Schema标记、自定义属性甚至脚本标签过滤掉的情况太常见了——毕竟编辑器默认的安全规则会自动清理它认为“不安全”或者不符合标准的内容,但咱们做Schema标记肯定得保留这些元素对吧?下面给你几个实用的解决办法,按易操作程度排序:
1. 直接切换到「Raw(原始)」输入类型的模板变量
这是最省心的方案!如果你不需要富文本编辑器的格式化功能(比如加粗、换行这些),完全可以把模板变量的输入类型换成Raw:
- 打开你的模板变量编辑页面
- 在「输入选项」板块里,把「输入类型」改成「Raw」
- 保存后再输入你的HTML内容,编辑器会原封不动保存所有代码,不会做任何过滤
2. 配置默认的TinyMCE编辑器,允许自定义标签与属性
如果必须用富文本编辑功能,那就得调整TinyMCE的过滤规则,让它认识并保留你需要的元素:
- 进入MODX后台,打开「系统设置」,搜索「tiny」找到TinyMCE相关配置
- 找到
tiny.custom_elements配置项,设置值为:meta,div[itemprop|itemscope|itemtype],script这个配置的意思是:明确允许
<meta>标签、带itemprop/itemscope/itemtype属性的<div>标签,以及<script>标签 - 接着找到
tiny.valid_elements配置项,确保里面包含你需要的标签和属性,比如添加:meta[itemprop|content],div[class|itemprop|itemscope|itemtype],script[src|type] - 保存所有设置后,清空MODX的系统缓存(这点很重要!不然新配置可能不生效),再重新编辑模板变量测试
3. 检查MODX全局安全过滤设置
如果上面的方法还是不行,可能是MODX的全局安全规则在起作用:
- 在「系统设置」里搜索
allow_unsafe_html,把它的值改成「Yes」 - 注意:这个设置会放宽全局HTML过滤,只建议在你完全信任后台编辑人员的情况下开启,避免恶意代码注入风险
小提示
不管用哪种方法,修改配置后一定要记得清空MODX缓存——后台顶部的「清空缓存」按钮点一下就行,不然旧的规则还会生效。
内容的提问来源于stack exchange,提问作者Himel Kazi
相关产品推荐
相关产品推荐

