这几天修改Thinkjam.org的首页,一个头疼的问题就是如何调用论坛的最新帖子。由于本站最终的输出都是HTML,并没有采用动态的PHP,因此只能采取Javascript调用这个途径,但此种方法无形中会增加服务器的负担,Javascript的毛病又很多,因此我很不愿意采用。那么,是否可以对VBB 3.0.3中提供的XML输出功能做文章,用Movable Type的GetXML插件来实现静态输出呢?经过摸索,此种方法最终成功。
首先从http://mt-plugins.org/archives/entry/getxml.php得到GetXML的最新版本并安装,然后按照其需要的格式修改VBB论坛中的external.php文件。最好按照我的方式将external.php另存为mtbbs.php文件进行修改,这样不会破坏原有系统的正常工作。
修改完毕后,就可以在模板中你需要的位置加入以下代码:
" target="_blank"><$MTGetXMLValue name="title"$> (<$MTGetXMLValue name="date"$>)
其中http://bbs.thinkjam.org/mtbbs.php为你修改的external.php文件路径。
你也可以创建一个新的索引模板(如xml.html),其主要内容就是上述代码,根据需要设定好此模板的样式表以及其它你需要的东东,最后用iframe标签插入主模板中,这样可以解决使用UTF-8编码的中文Blog系统上的乱码问题。
这样每次刷新时,论坛新帖就会作为HTML输出到你需要的地方,虽然相比动态的Javascript调用时效性较差,但却节省了大量资源,可谓各有利弊吧。
