emlog4模板制作与3.5版本的一些变化

EM官方重写了部分核心代码,为emlog4带来更为强劲的功能,目录结构及方法调用上也与emlog3.5版本有很多地方不同。

近期家里事多,仅以我个人昨天转换情侣模板的经验,谈谈模板制作的一些变化。

 

首先是emlog4实现了类似wordpress那样的伪静态URL,可自定义每篇文章的地址(别名)。于此带来的是模板中凡事文章、分类、标签及其他动态路径,均与emlog3.x不同,需要作者对模板中这些路径进行简单替换。

下面是个简单的列表:

Url::author($uid)  获取作者地址

Url::log($key)  获取日志地址

Url::tag($value['tagurl'])  获取标签地址

Url::sort($value['sid'])  获取分类地址

Url::record($value['date'])  获取归档地址

括号中需要的参数或有不同,具体大家可参考默认模板。

 

引入文件的改变:

过去我们引入文件用:

include getViews('footer');

现在emloog4则改为:

include View::getView('footer');

 

页面引用及评论的加载:

过去为:

blog_trackback();

blog_comments();

blog_comments_post();

现在为:

blog_trackback($tb, $tb_url, $allow_tb);

blog_comments($comments);

blog_comments_post($logid,$ckname,$ckmail,$ckurl,$verifyCode,$allow_remark);

感觉变麻烦了,还好只是简单替换。

 

相关日志的挂载点:

过去为:doAction('log_related');

现在为:doAction('log_related', $logData);

 

相邻日志:

过去为:neighbor_log();

现在为:neighbor_log($neighborLog);

 

当然最大的改变当然是module.php这个文件,需要替换的内容很多,但都是模式化的替换,很容易:

如://widget:blogger部分

过去为:

global $user_cache;

现在为:

global $CACHE;

$user_cache = $CACHE->readCache('user');

后面修改函数内容时依然要注意替换相关URL部分,用上面提到的URL替换过去的URL写法。

如//widget:分类部分的A链接部分:

过去为:

<a href="<?php echo BLOG_URL; ?>?sort=<?php echo $value['sid']; ?>">

现在为:

<a href="<?php echo Url::sort($value['sid']); ?>">

 

module.php核心内容很多,修改时注意,只要改过一次之后就容易了。最后提醒一下:emlog4去掉了音乐微件及访问统计微件,在module.php中将之去掉就可以了(感觉音乐去掉是为了让核心更加精简,毕竟这东西可以用自定义微件简单实现)。

 

另外由于官方实现了嵌套回复(或者说评论盖楼),过去的模板样式及代码设计需要重新定义。

为简化操作,建议先用默认模板module.php中关于评论的部分(从284行到最后)替换到老模板相关位置及函数。

评论及盖楼所用到的js位于:include/lib/js/common_tpl.js

js文件其中几个函数所用到的很多id及层次必须在模板中出现,所以才建议大家先用默认模板替换,之后再根据需要修改css实现外观。熟练之后可自行修改为更灵活的方式,或和我一样把common_tpl.js放到模板目录下方便修改自定制。

 

最后,过去我们在模板中自定义函数需要查询数据库时,会global $DB;一下,现在这么写不行了,需要这样写:

$DB = MySql::getInstance();

在获取缓存的数据上,也不能简单的global了,例如获取用户缓存,过去$user_cache不能直接用,需要先:

$user_cache = Cache::getInstance()->readCache('user');

 

之后遇到问题再补充,话说我这里还在3.4,没空升级……

2011-05-04 14:52
博主的主题不错的
2011-05-02 23:19
回复6楼:评论分页简单呀,直接PHP会更好
2011-05-01 10:04
恩。就是网页背景音乐挺纠结的,呵呵
2011-04-29 12:31
不错,这个正需要!严重占楼支持
2011-04-28 22:34
emlog?没用过,了解一下
2011-04-28 16:35
现在我的博客,除了评论分页,其他都差不多了。今天还搞了一个回到顶部和底部的按钮,完全照搬你以前给的方法
lcard
2011-04-28 17:36
@学夫子:呃,评论分页可以用js实现
2011-04-28 12:53
卡片的3.4被折腾的很强大。学习啦!哇咔咔。想有一个框架的板子,呵呵
lcard
2011-04-28 13:54
@毕加波:框架的感觉很别捏,#传地址也很麻烦,还是这样的好
2011-04-28 11:30
学习了,O(∩_∩)O~
2011-04-28 10:40
果断页面另存为
lcard
2011-04-28 11:42
@小歪:有时间继续补充
2011-04-28 10:35
强烈的支持!!!!
2011-04-28 09:58
沙发么沙发么?

Top↑