• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友,商务沟通v:ai_draw
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

DEDE5.7 模板文件不存在,无法解析文档个中解决方法

点滴 admin 12年前 (2012-09-09) 1639次浏览 已收录 0个评论 扫描二维码

最近帮一个客户定制网站,才用了DEDE的系统开发.不过在开发的后段出现<新闻页面生成HTML文件>时出现了”模板文件不存在,无法解析文档”的问题!dede模板

我仔细研究了一下:

1.模板文件是肯定存在的;

2.路径是对的;

3.其他的”列表页”是可以正常生成HTML文件的.

根据这3点,我肯定出现该问题肯定与路径无关系!再仔细研究了一下DEDE的这套系统,发现了一个很少被大家注意的一个问题:

很多朋友在开发网站的时候,做模板文件的时候喜欢使用”.html”的格式,刚刚这个问题在DEDE的系统中可能在生成HTML文件的时候就会出现”模板文件不存在,无法解析文档”的问题!

所以解决方法就是把所有的模板文件的格式统一成”.htm”,这个问题就解决了!

说明:1.DEDE目前的模板文件对”.HTML”格式的文件解析有点BUG(除了”.HTML”和”.HTM”格式的其他的在下还没有实验过);

2.目前的DEDE不是所有的栏目使用”.HTML”格式的模板都会出现这种问题.

(一)对于”封面页”和”列表页”使用”.HTML”格式的模板是可以的;

(二)对于”文档页”使用”.HTML”格式是不行的,需要使用”.HTM”或者其他格式(其他格式在下还没有测试过).

其实这个问题是非常的简单,根本没有一点技术性问题.只要我们熟悉DEDE的系统就根本不会出现这个问题,但是在开发过程中,很多朋友可能没有注意一些这些细节问题从而使我们无法向前.

今天被这个问题折腾了半天

第一步:检查栏目模版的设置是否正确

第二部:栏目模版是否存在或路径是否正确

第三部:通常已经两个问题都是很容易发现和处理,但是还是报错,因为织梦默认的模版后缀为.htm 而我习惯的后缀为.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;

改为这样就完全解决了

希望这个能够让大家节约不少的时间来研究这个问题,把这些时间浪费在去找技术方面的措施很不划算!同时希望高手能够指正和完善!

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址