DedeCms织梦后台添加编辑文章空白解决办法 – DeD


avatar
pcwnas 2023-04-21 206

原文来自:https://www.zixuephp.com

DedeCms织梦后台添加编辑文章空白解决办法

原因分析:根据dedecms官方文档说明,出现这种问题是可能是由于catalog_do.php里的header()的问题,因为当执行header()前,如果前面输出了空格、空行、任何字符,都会导致header()跳转失效,这就需要你非常有耐心的去排查一个个<?php ?>是否有空格或空行,把这些空格空行删除,至此功能就全部正常了。

解决的方法:

1、下载…/dede/catalog_do.php把文件下载到本地,用文本编辑器打开,做如下替换:

A、把header(“location:article_add.php”)替换为:

echo “<script language=’javascript’>window.location.href=’article_add.php’</script> “;

b、把header(“location:{$gurl}?channelid={$channelid}&cid= {$cid}”);

替换为:

echo “<script language=’javascript’>window.location.href=’{$gurl}?channelid={$channelid}&cid={$cid}’</script> “;

2、下载…/dede/archives_do.php下载到本地,用editplus文本编辑器打开,做如下修改:

把:header(“location:{$gurl}?aid=$aid”);

修改为如下代码:

echo ‘<META HTTP-EQUIV=”REFRESH” CONTENT=”1; URL=’.$gurl.’?aid=’.$aid.’”>’;

如果不行就用下面的方法解决后台编辑文章空白问题

后台-”系统”-”系统基本参数”-”核心设置”-”html编辑器选项(目前仅支持fck):” 这里填写fck,已正确的用户无需更改.再不行就把FCK换成ckeditor,应该能解决后台添加/编辑文章页面空白或无法显示的问题了!

系统基本参数- 核心设置- Html编辑器选项 填写ckeditor 保存 更新缓存

主要就是添加文字之后页面变为空白,没有跳转到发布成功页面,但是点击栏目管理可以看到多了一篇文章,点击查看内容却没有,重装系统是不能解决的.

最后在网上找到了解决方案:

首先进系统—系统设置—-系统错误修复,修复了之前生成的错误页面。然后进入系统—系统设置—系统基本参数——其它选项—–自动提取关键字–选择否–保存。

如果是系统升级了我们可尝试下面方法解决

从DEDE5.6升级到5.7后,发现织梦后台部分栏目无法添加文章,添加后显示空白,进所有文档,查看文章状态显示为“未生成”;查看了很多网上的帖子,没有发现能解决此问题的;后台经过逆向反复查找,最终锁定问题可能出在此栏目的模板上,模板上使用了一个自定义函数IDReturnURL;

而这个函数在DEDE5.7版本升级后,覆盖掉了原文件,代码如下:

  1. {dede:channelartlisttypeid=386}
  2. <H3><Ahref='{dede:fieldname='typeurl'/}'title={dede:fieldname='typename'/}>{dede:fieldname='typename'/}</A></H3>
  3. <UL>
  4. {dede:sqlsql='Select*fromdede_archiveswheretypeid=~id~ORDERBYclicklimit0,100;'}
  5. <li><ahref='[field:idfunction=IDReturnURL(@me)/]'target='_blank'>[field:title/]</a>
  6. {/dede:sql}
  7. </LI></UL>
  8. {/dede:channelartlist}

经过查找,发现此函数定义在了extend.func.php文件中,具体定义如下:

  1. functionIDReturnURL($ID)
  2. {
  3. global$dsql;
  4. $query="Selectarc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,
  5. tp.defaultname,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath
  6. fromdede_archivesarcleftjoindede_arctypetponarc.typeid=tp.idwherearc.id=".$ID;
  7. $row=$dsql->GetOne($query);
  8. $ReturnURL=GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
  9. $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
  10. return$ReturnURL;
  11. }

添加后,再次进行测试,一切恢复正常.