emlog模板预览功能的简单实现

2010-1-22   作者:Jack Hsu  [ 数码时代 ]

使用emlog有些日子了,最近一段也从wordpress的模板库里边移植了几个个人认为还不错的模板,也算是为广大的emlog用户做了一些事情,让大家多了几个模板可以选择。

也就是在移植wordpress的模板的时候,看到无论国内国外的wordpress主题站点,都有主题/模板的预览功能,后来搜索了一下,大多数都是通过plugin插件的形式实现的,而且大多数wordpress主题站点用的都是2个比较流行的插件之一。

于是就把两个预览插件都下载下来研究了一下代码,这两个插件特色鲜明,一个复杂一个简单,都能实现主题预览的功能,不过实现的预览“深度”不同,而且程序实现的方式也有所差别。研究这两个插件代码的结果是,对我在emlog上面实现模板预览的作用不大,看来还是得走老路——再把emlog的代码拿出来看一遍。

为什么说再拿出来看一遍呢?因为之前已经看了差不多两遍了,当时是走马观花似地浏览一遍,没看出来什么名堂,所以才有前面说的研究wordpress预览插件的代码的事情。记得当时好像还问过emlog开发人员是否有预览插件,因为官方模板站上有这个功能,后来那多记忆 说emlog官网上那个功能是奇遇做的,可以提供一份代码给我,结果不了了之。这也坚定了靠自己摸索实现这个emlog模板简单预览功能!

今天看的时候比以前仔细多了,几乎看遍了emlog所有的php脚本文件,最后还是没搞清楚下面这两行中的$nonce_templet是在哪里赋值的!

这个$nonce_templet参数,就是模板文件存放的目录名称,emlog程序调用模板就是根据这个参数来调用的。虽然不知道$nonce_templet是在哪里赋值的,毕竟要改也还是可以的,也不一定非要找到源头,就在index.php里边改应该就可以了。于是我在emlog的index.php里边加了下面几行代码:

代码加进去了,打开博客首页却一片空白,什么都没有!检查代码,似乎没发现什么问题,调整代码的位置,放到 TEMPLATE_URL 常量声明前面,还是不行!于是又开始翻php手册,在调整代码,如是者三,终于调试成功!之所以试了很久才成功,是过于疏忽了,TEMPLATE_URL和TEMPLATE_PATH都是常量,而常量在php程序运行过程中是不会发生变化的,也不允许重复声明的 !TEMPLATE_URL和TEMPLATE_PATH在声明的时候检索一次$nonce_templet的值,声明之后就不能再赋值了。就这样,emlog的模板预览这个小功能就这样实现了,打开firefox,在地址栏输入 http://www.95ie.com/?demo=simit ,本人的nocss模板效果一下子就出来了!

很多时候,某些问题看似很复杂,一旦解决之后,你会发现其实解决的办法很容易!

emlog模板预览功能的代码如下:

需要修改的文件为emlog根目录下的index.php文件,参照本人上面这段代码修改即可。使用时在网址后面提交demo参数就行了,demo为模板文件夹名称,例如default模板放在default目录下,在博客网址后加上?demo=default就可以预览default模板了!

P.S.本人移植、制作的几个模板,大家可以通过下面的链接预览一下:

NoCSS模板预览网址: http://www.95ie.com/?demo=simit

condition模板预览网址: http://www.95ie.com/?demo=condition

cleantype模板预览网址: http://www.95ie.com/?demo=cleantype

emlog官方classic模板预览网址: http://www.95ie.com/?demo=classic

标签: emlog 模板 预览 代码


评论:

hello
2010-06-08 18:18
我按着你所说的方法,怎么看不到效果呢。。模板是放在网站根目录还是emlog的模板目录下。谢谢
Jack Hsu
2010-06-08 19:20
@hello:模板是应该放在模板目录的。
要修改的是根目录下的index.php文件。{smile:8}

发表评论:

Powered by emlog Copyright© 2009-2017 95ie.com. All Rights Reserved.鄂ICP备09001625号