游客发表
打开织梦后台,织梦点进“内容管理”里的文章“普通文章”,找到你要编辑的内容那篇。光标停在正文编辑框里,插入你打算放一张地图——比如公司门店位置、地图活动场地示意图,织梦或者某个景点的文章路线。问题来了:织梦自带的内容编辑器里根本没有“插入地图”这个按钮。它不像Word那样有个现成的插入地图控件,也不像某些CMS直接集成了高德或百度的地图插件。
我试过最直接的织梦办法:在编辑器里切到“源代码”模式,手动粘贴一段地图的文章iframe代码。百度地图、内容高德地图、插入腾讯地图都提供这种嵌入代码。地图以百度地图为例,打开网页版,搜索地点,点“分享”,选“嵌入地图”,复制那串<iframe>标签。回到织梦的源代码框里,直接粘贴。保存,前台刷新——地图出来了。但有个坑:织梦默认会过滤掉iframe标签。你粘贴完切回可视化模式,iframe可能直接被吞掉,或者前台显示一片空白。
解决这个过滤问题,得改一下织梦的系统配置。找到include/inc/inc_fun_funAdmin.php文件,搜索$cfg_softsize或者过滤规则相关的代码。更简单的办法是进后台“系统” -> “系统设置” -> “安全设置”,看看“iframe标记”是否被禁止。织梦默认允许iframe,但有些版本或安全补丁会禁掉。如果禁了,在“过滤字符”里把iframe删掉。改完记得清缓存。
另一个常见坑是编辑器本身。织梦默认用的是CKEditor或FCKeditor,不同版本对iframe的支持不一样。我遇到过CKEditor 4在“源代码”模式下粘贴iframe后,保存时自动把<iframe>转义成<iframe>,前台直接显示代码文本。这时候要么换编辑器,要么在数据库里直接改。进phpMyAdmin,找到dede_addonarticle表,对应的body字段,把转义符手动改回来。这招有点粗暴,但管用。
如果你不想折腾iframe,还有个替代方案:用织梦的自定义字段。在“内容模型”里给普通文章加一个“地图代码”字段,类型选“文本域”或“HTML”。编辑文章时,把地图iframe粘贴到这个字段里,前台模板用{ dede:field.mapcode/}调用。这样绕开了正文编辑器的过滤,也方便统一管理。我给几个客户做企业站时就这么干,后期换地图不用改文章,直接改字段内容就行。
地图尺寸也得留意。百度地图生成的iframe默认宽度可能撑破你的文章容器。在iframe标签里加width="100%"和height="400",或者用CSS包一层<div style="max-width:600px">。手机端访问时,固定宽度的地图会横向滚动,体验很差。用百分比宽度最省心。
最后说个真实案例。上周帮一个餐饮客户加门店地图,他用的织梦5.7,编辑器是FCKeditor。粘贴高德地图iframe后前台不显示。查了半天,发现是“系统” -> “核心设置”里的“是否允许使用HTML”没开。勾上之后,地图正常渲染。所以遇到问题先别怀疑代码,翻翻后台那几个开关。织梦的坑大多不在技术,在配置项藏得太深。
地图插入本身不复杂,难的是绕过织梦那套老旧的过滤机制。iframe、自定义字段、数据库直改,三条路都能走通。选哪条,看你愿意动后台还是动代码。
友情链接