tagged “MovableType3.34”

前几天升级到了Movable Type 4.01,这两天正在不断熟悉。Movable Type的不同版本之间的衔接做得还是蛮不错的,升级安装后模板还是原来的,虽然多出了很多新的标记,但是原来的仍然可以使用。

新的MT4模板编辑窗口多了一个突出显示HTML标记的功能,还可以下拉窗口下端改变大小,在编辑模板代码的同时还能自动保存,有的模板还能永久保存备份的副本。但是需要特别注意的是,要特别注意避免移动已经用鼠标选中并高亮显示的内容到其他地方,而编辑过程中会自动保存,所以极易造成代码的混乱。非常不幸,在编辑主存档(Main Index)模板代码的时候,我弄乱了部分代码,结果导致发布的时候总是出现500 Internal Server错误(如下图),

MT-Internal-Server Error

你可能会问为什么我这么肯定出现500 Internal Server错误就是因为模板代码出现了问题,其实最开始我是怀疑服务器是不是出现了问题,因为以前在重新发布模板的时候也出现过类似的错误(具体是不是500 Internal Server就不记得了,反从界面上来看,很象),但是过段时间就会恢复正常。而这次,等了两天后,问题依旧,仔细测试后,我发现只要发布的时候包含Main Index,就会出现错误,而单独发布其他的模板,比如Category Archive、Date Archive则不会出现,而且删除Main Index模板后发布整个网站也成功了。而后我用MT3.34默认的Main Index代码替代现在的Main Index,发布的时候竟然没有出现问题!由此,很明显可以得出结论——造成错误的原因就是因为Main Index 的代码有问题。

期间我还请教了Fishweilinyou,weilinyou建议让我重装MT,还帮我找到了xdanger遇到同样问题的解决办法。不过因为我不想动我并不熟悉的MySQL数据库,而经过排查,xdanger列出的各种症状在我这里都没有。为了印证我的推论,我干脆放弃了原来的模板,对照本机安装的MT 4.01,把所有模板都改成默认的,做了大部分汉化和一些修过以后,重新发布了整个网站。

MT4默认的模板比MT3要漂亮一些,我选择的两栏样式也还算整洁、干净。就模板来说,MT4和MT3主要有以下不同:

  • 首先是模板的类型更为细致,比如,以前Index Templates类别下所有模板都视为Index Templates,MT4则根据每个模板的不同作用用不同的类型一一加以区分,如下图
MT4-Template Type
  • 然后是引入了一个新的模板类别—Template Modules。这个和面向对象的编程方式有点类似,把一些需要重复适用的模板单独“封装”起来,其他模板在使用时只需引用即可。但是这样也产生了过多的单独模块,过度细分还极易让一些相似模块给人造成混乱的感觉。如Entry Detail、Entry Metadata、Entry Summary。
  • 存档模板(Archive Templates)和以前有较大区别。淡化了原来MT3所用的 Individual Entry Archive 概念,Entry作为一个单独的“实体”存在,在“Entry Listing”里则可以创建不同类型的存档页面(Archive Mapping),如Monthly、Category等。同时还多了一个Page的概念(还没仔细研究怎么使用)。

Tags

他们来过

和我聊天

Powered by Movable Type 4.1