织梦栏目更新HTML出现“模板文件不存在,无法解析文档”的解决方法

最近做一个织梦系统的网站,用DEDE做PC网站与手机网站一起,手机网站结合到微信里就是微站了!PC端做完后就做手机端,数据是一样的,也就是栏目内的东西都不能改,只能改模板文件,但是在手机网站后台更新HTML的时候一直提示“模板文件不存在,无法解析文档”。不要说别的,我当然知道是什么意思,于是几十栏目我一个一个点开,一个一个对照模板文件名!然后,没错!是的,没有错!模板是完整无错的呀!

有点奇怪的是,我一键更新文档HTML是正常更新了,一键更新栏目HTML就显示模板文件不存在了,然后我就一个一个选择1级栏目更新HTML,问题来了:更新到一半就出现“模板文件不存在,无法解析文档”,为了这玩意头疼了一下午,晚上的时候终于一下醒悟了,可以在arc.listview.class.php文件添加一个代码,出错的时候就显示该ID名不就可以了~

更新栏目出现“模板文件不存在,无法解析文档”就打开include/arc.listview.class.php文件第235行,或者查找

echo “模板文件不存在,无法解析文档!”;

替换成

echo “模板文件不存在,无法解析文档!”.$this->TypeID;

这么改的意思是生成HTML出错的时候你可以看到出问题的栏目的id号是多少,相应进行修改。

于是我的栏目生成的时候显示的是如下图:

织梦栏目更新HTML出现“模板文件不存在,无法解析文档”的解决方法-烽言-心有所执,方有所成

同理,如果是DEDE文档更新HTML出现“模板文件不存在,无法解析文档”可以打开根目录include下的arc.archives.class.php文件跟上面一样修改下,就可以显示出错ID了!

这个ID25的栏目,我去栏目去找才发现什么时候删除过一个栏目,ID25的栏目已经不存在了!于是更新失败,而且我也没使用DEDE默认的文档列表页,知道问题就好解决了。

解决办法1:至于模板文件名不一样,与模板文件格式是.html的一下就解决了。

解决办法2:直接更新缓存,如果更新缓存还是不行就勾选 检测并清理错误文档,一般问题就解决了。一开始我以为是模板目录不是www权限用户的问题,但是给模板目录www用户权限也还是不行。

织梦栏目更新HTML出现“模板文件不存在,无法解析文档”的解决方法-烽言-心有所执,方有所成

然后更新全站就正常了,就一个缓存问题,弄了我一下午,晚上到这个点才搞定!!更新缓存功能我还是第一次使用,想不到作用挺大的。

 

 

方法一:【此对应喜欢把模板文件使用”.html”的格式,】
/include/arc.archives.class.php 556行
   if (!preg_match(“#.htm$#”, $tmpfile) ) return FALSE;会至判断了.htm的后缀没有匹配.html后缀的文件 直接修改为.htm后默认模版的文件又无法解析只能两则兼顾了
    if (!preg_match(“#.htm$#”, $tmpfile) && !preg_match(“#.html$#”, $tmpfile)) return FALSE;


方法二:【对应路径不存在】
系统—系统基本参数—网页主页链接 把“/”删掉
   然后:生成—更新系统缓存  再全部更新  OK

方法三:【对应本地完成项目进行上传后,进行更新文件,出现此错误】
系统—系统基本参数-核心设置-DedeCms安装目录 设置正确的路径!
如果是根目录安装,则不需要填写任何内容。根目录安装切记留为空。更新系统缓存,全更新一下,问题搞定。
(因为上传的文件都是放在根目录下的,所以dedecms安装目录就不用填写东西啦)
方法四:【此对应并检查系统基本参数是否存在并且正确】
1.去Include文件夹里搜寻“模板文件不存在,无法解析文档“这串字符。找到了arc.archives.class.php这个文件。
2.  复制代码
 echo “模板文件不存在,无法解析文档!”;

 修改成复制代码
 echo “模板文件不存在,无法解析文档!” .$this->ArcID;
3.根据返回错误的文章ID,于是,再生成时根据得到的文章id,打开文章编辑检查是否已设置文章分类

举一反三【 如果是生成栏目列表时出现这样的问题】:
  1.可以修改include/arc.listview.class.php这个文件。

  2.复制代码
    echo “模板文件不存在,无法解析文档!”;

    修改成:
    echo “模板文件不存在,无法解析文档!:$tempfile”;

喜欢()
热门搜索
302 文章
16 评论
50 喜欢
Top