织梦彻底解决“模板文件不存在,无法解析文档!”的问题

2022-10-07 16:59:09 浏览数 (1)

这个教程是让程序明明白白的告诉你是哪个栏目哪个模板文件不存在,再去找该栏目的相关设置和添加不存在的模板文件。

前面提示:

  • 1、系统,基本参数,点【确认】按钮一次 (搬家恢复数据后必须要点一次);
  • 2、频道封面的栏目,必须要有“列表模板”存在,如果没有可以把高级选项的“列表模板”填上为“封面模板”;
  • 3、确认你的模板是 .htm 格式并且没有从网上看了其他教程改过程序用 .html 格式;
  • 4、在一键更新网站时提示“模板文件不存在,无法解析文档!”,我们需要单独去生成“更新栏目HTML”和单独去生成“更新文档HTML”,看到底是栏目模板不存在还是文章模板不存在;
  • 5、你栏目高级选项里的这三个模板都要存在,就算不用到,也要存在,缺一不可

更新栏目HTML提示 “模板文件不存在,无法解析文档!”解决方法

如图

打开 /include/arc.listview.class.php 找到,大概在235行左右

代码语言:javascript复制
list_default.htm

在它上面加入一行

代码语言:javascript复制
echo $this->Fields['typename']." [ID:{$this->TypeID}] ".$GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$this->TypeLink->TypeInfos['templist'];

如图

保存后,重新更新栏目HTML,看提示是哪个栏目缺少哪个模板文件

更新文档HTML “模板文件不存在,无法解析文档!”解决方法

如图

模板文件不存在,无法解析文档模板文件不存在,无法解析文档

打开 /include/arc.archives.class.php 找到,大概在558行左右

代码语言:javascript复制
article_default.htm

在它上面加入一行

代码语言:javascript复制
echo $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$this->TypeLink->TypeInfos["temparticle"];

如图

模板文件不存在,无法解析文档模板文件不存在,无法解析文档

保存后,重新更新文档HTML,看提示是哪个文档缺少哪个模板文件

模板文件不存在,无法解析文档模板文件不存在,无法解析文档

这样修改过,无论是在生成全站、列表、文档、添加文档、编辑文档时提示“模板文件不存在,无法解析文档!”

我们都能清楚知道是哪个模板文件不存在了。


Tip:如果修改过后,提示的栏目不在你的后台栏目里的话,你需要记下栏目ID,到后台-系统-SQL命令行工具-执行

代码语言:javascript复制
DELETE FROM `dede_arctype` WHERE id='填你记下的栏目ID';

执行完后,更新栏目缓存,更新系统缓存,重新生成试试。

Tip:如果提示的文档不在你的后台档案列表里的话,你需要记下文档ID,到后台-系统-SQL命令行工具-执行

代码语言:javascript复制
SELECT ch.addtable FROM `dede_arctiny` arc LEFT JOIN `dede_channeltype` ch ON ch.id=arc.channel WHERE arc.id = 2;

arc.id = 2 这个2改成你记下的文档id,执行后出来这个附加表名,也可能无记录

模板文件不存在,无法解析文档模板文件不存在,无法解析文档

无记录出来不需要执行这一步,有记录的话继续在命令行里输入

DELETE FROM dede_addonarticle WHERE aid = 2;

dede_addonarticle 就是上面第一次查询出来的附加表名,改成你查询到的

aid = 2 这个2改成你记下的文档id,千万别弄错了

模板文件不存在,无法解析文档模板文件不存在,无法解析文档

继续执行这2行

代码语言:javascript复制
DELETE FROM `dede_archives` WHERE id = 2;
DELETE FROM `dede_arctiny` WHERE id = 2;

id = 2 这个2改成你记下的文档id,千万别弄错了

执行完后,更新栏目缓存,更新系统缓存,重新生成试试。

0 人点赞