dedecms织梦无法保存栏目内容的解决方法

最近使用DedeCms5.3和DedeCms5.5遇到了一个不可思议的问题:在添加栏目时IE内核的浏览器无法保存栏目内容。到网上搜索了半天没找到解决方法,查看DedeCms官方搜索到的结果是“栏目内容”无法保存和修改的问题解决方法,打开dede/templets目录的下面两个文件
catalog_add.htm 大概519行
catalog_edit.htm 大概426行

将上面两个文件中指定位置的

GetEditor("content",$myrow['content'],"450","Default","print","false");

替换成

GetEditor("content",$myrow['content'],"450","Basic","print","false");即可!”。

试了一下,问题还是没解决。

打开DedeCms后台目录下的文件catalog_edit.php和article_edit.php对比一下,使用相同的函数调出了编辑器,说明DedeCms的程序应该没问题,而且在Firefox浏览器中还可以正确的保存内容,进一步证明了DedeCms的程序是没问题的。在IE下不行而在Firefox下却可以,应该是编辑器与DOM之间产生了问题,对比刚才的两个页面唯一的区别在于“栏目管理”的地方默认编辑器区域默认是被隐藏了,使用IE查看右下角的错误提示:“由于出现错误 800a025e 而导致此项操作无法完成”,在网上搜索一下才发现原来是FCKeditor的一个BUG。当FCKeditor的父目录默认被隐藏,就会出现此类错误。找到错误原因就好解决问题了,在添加和编辑栏目时,给编辑器添加默认值就可以解决这个问题了。

打开:后台目录/templets/catalog_edit.htm和catalog_add.htm两个文件

catalog_add.htm 大概518行

GetEditor("content", "", "450", "Default", "print", "false");

替换为

GetEditor("content", " ", "450", "Default", "print", "false");

给编辑器默认赋一个空格

catalog_edit.htm 大概426行:

GetEditor("content", $myrow['content'], "450", "Default", "print", "false");

替换为

$cont= empty($myrow['content']) ? ' ': $myrow['content']; 
GetEditor("content", $cont, "450", "Default", "print", "false");

$cont是自己定义的,这样就解决了栏目内容无法保存的问题。

转载请注明出处!小鱼阁工作室 -专注zencart建站,织梦企业建站,ecshop商城,二次开发,产品采集,模板修改!技术QQ 631992791
原文地址:https://www.cnblogs.com/afish/p/3939548.html