AKCMS通过过滤器实现评论gravatar头像和表情功能

作者:匿名 hihi 来源:不亦乐乎 浏览: 2012-7-6 11:19:38 字号:
[摘要]AKCMS 是国内轻易级CMS中的佼佼者,无论是功能还是性能,都十分给力,使用者略加发挥便可以改造出一个功能较为完善的博客,本文讲解如何通过过滤器实现评论gravatar头像和表情功能。

  Akcms其实真的是一个CMS程序,功能很强大,不过这些功能大部分都在水面下,我能用到的只是它露出水面的冰山一角,所以,更多的是将这个akcms当作博客程序来用,只是作为博客,它的评论功能和wordpress比起来又差了许多。不过许多功能不是不能实现,而是不懂怎么实现,下面讲的是通过akcms的过滤器功能,来实现评论者的gravatar头像显示和表情显示功能。

  • 软件大小:248KB
  • 软件类别:国产软件 | CMS建站
  • 软件语言:简体中文
  • 运行环境:PHP/Mysql
  • 软件授权:免费版
  • 更新时间:2015-10-8 14:06:56
  • 相关链接:Home Page

一、实现gravatar头像

  因为程序默认的comments表格里没有email这个项,所以得通过手动添加,添加办法见梅川类酷的《AKCMS 4.0.3利用文章评论制作自定义字段的留言本》,最新版本4.0.9同样适用。

  添加完email字段后,在程序后台添加一个过滤器,内容为:

php:preg_replace('/md5\((.*)\)/Uise', "md5('\\1')", $input);

  在评论模板里引用这个自定义字段:

<{getcomments bandindex="1" page=$page itemid=$id num="1000" filter="1" template="
<img src=()http://www.gravatar.com/avatar.php?gravatar_id=md5([email])&size=40&d=identicon&r=G() />
"}>

  函数中的filter="1"里的1对应的是你过滤器的ID,这样就可以显示了。

二、实现表情功能

  这个是过滤器结合javascript来实现评论表情功能的。

 1)准备好表情,将它传到你的空间某目录下,比如下面例子是传到根目录images文件夹的face文件夹下,同时将表情图片的文件名用规律的数字修改好;

 2)在评论模板里添加下面的js,这里限制每条评论最多3个表情:

function add_face(id, wrap)
{
var o = document.getElementById(wrap);
var s = o.value;
var reg = new RegExp("FA:[0-9][0-9]", "gm");

if (s.match(reg) == null)
{
var a = 1;
}
else
{
if (s.match(reg).length >= 3)
{
alert("不要表情泛滥哦!");
return;
}
}
o.value = o.value + "[FA:" + id + "]";
o.focus();
}

 3)在评论框前后需要显示表情的地方加以下代码:

<p>
<a href="javascript:add_face('01', 'comment');"><img title="发呆" alt="发呆" src="/images/face/01.gif" border="0"></a>
<a href="javascript:add_face('02', 'comment');"><img title="可爱" alt="可爱" src="/images/face/02.gif" border="0"></a>
……
</p>

  代码javascript:add_face('01', 'comment');中的连续数字01、02对应的是表情图片名称,comment是评论框的id。

 4)通过过滤器将评论的表情符转成图片:

preg_replace:\[\FA:([0-9]+)\]|<img src="/images/face/$1.gif" />

 5)在评论模板中调用上面的过滤器,同gravatar头像方法,多个过滤器可合并。

  过滤器详细作用见:http://www.akcms.com/manual/filter.htm

  本文转自:http://www.happyet.org/790.html

sssss
Tags: akcms   gravatar头像   评论头像   评论表情  
责任编辑:mozi
编辑推荐排行