Posts Tagged ‘gravatar’

在 Symphony 中使用 Gravatar 服务

May 21st, 2007
Tags: , , | Posted in Web | No Comments »

Gravatar 是一项提供网络头像的服务,不同于以往各个网站“各自为政”存储自己用户的头像,Gravatar 存储的头像可以用于各种场合(e.g. Blog,网络社区,论坛,etc.)。用户以 Email 地址在 Gravatar 服务器中注册,并且被分配到以这个 email 地址的 MD5 Hash 为基础的头像地址。Gravatar 升级到 2.0 以后免费用户还可以为每个 Email 账户上传 2 个头像并且方便的切换(付费用户可以上传无限多)。

Symphony 中使用 Gravatar 服务很简单,因为它在 XML 结构中已经提供了 email 的 MD5 Hash,所以只需要在模板中加入相关代码就可以。

Email MD5 Hash

email-hash虽然 Symphony 可以直接输出留言 email 的 MD5 Hash,但是默认设置是不包括这一项的。在后台访问 BLUEPRINTS -> Controllers -> Data Source -> Comments,在 Format Options 中加入 email-hash 这一项。之后,在有留言的 entry 中就可以看到如下 XML 结构:

<comment id="85"> <author>LEMONed</author> <date year="2007" month="05" date="21" weekday="1">2007-05-21</date> <time hour="08" minute="49">08:49</time> <message><p>Gravatar!</p> </message> <url>http://www.ilemoned.com</url> <email>xxxx@xxxx.xxxxx</email> <email-hash>682aa6c6145a3ff168d5cd6d30120272</email-hash> </comment> </entry> </comments>

其中的 <email-hash> 就是 email 地址的 MD5 Hash,用它做为头像地址的标识就可以取得留言者的头像。

头像地址的格式

Gravatar 的头像地址分为 5 部分:

  • http://www.gravatar.com/avatar.php?
    头像必须以此地址起始(必选)
  • gravatar_id=279aa12c3326f87c460aa4f31d18a065
    将 gravatar_id 的值换为每个人的 email MD5 Hash(必选)
  • &rating=R
    对头像分级的过滤,可以用的值有[ G | PG | R | X ](可选)
  • &size=40
    头像大小(可选)
  • &default=http%3A%2F%2Fwww.example.com%2Fsomeimage.jpg
    默认头像的位置(这个头像不会自己缩放大小,可选)

在 Template 中生成头像地址

有了 MD5 Hash 和 Gravatar 头像 URL 的结构之后,一切问题都迎刃而解了。在 Utilities -> Comments 中加入生成头像地址的语句,比如:

<img src="http://www.gravatar.com/avatar.php?gravatar_id={email-hash}&amp;size=32&amp;default=http%3A%2F%2Fotherside.mimijidi.com%2Fworkspace%2Fimg%2Fblank_gravatar.jpg" alt="Gravatar" class="gravatar"/>

如果添加其他选项注意将 & 转换为 &amp;

No Comments »

||