hashover留言板默认使用了Gravatar提供头像服务,但作为一个全球公认的头像服务,缺少了一些国内的本地特色,对于国人来说使用接受度可能不会太理想,相比之下,国内的公共图像服务Cravatar在这方面就做的很好,根据官网所述,当访客通过 cravatar 请求头像时,会按顺序分三级匹配头像:Cravatar->Gravatar->QQ头像,这平均可以为70%的访客提供准确的头像,不仅完美的继承了Gravatar所有特性,融入了特色的qq头像,非常适合国人的使用习惯。
知道了Cravatar的好处,那么我们怎么将 Gravatar 换成更适合我们的 Cravatar呢?其实我们只需要简单的修改代码就可以实现。
1、修改/hashover/backend/classes/avatars.php文件,从第47行开始
$http = ($is_https ? 'https' : 'http') . '://';
$subdomain = $is_https ? 'secure' : 'www';
// Construct Gravatar icon URL
$this->gravatar = $http . $subdomain . '.gravatar.com/avatar/';
改成
$http = ($is_https ? 'https' : 'http') . '://';
// Construct Gravatar icon URL
$this->gravatar = $http . 'cravatar.cn/avatar/';
2、修改/hashover/backend/classes/avatars.php文件,从第136行开始,
$gravatar = $this->gravatar . $hash . '.png?r=pg';
$gravatar .= '&s=' . urlencode ($this->iconSize);
$gravatar .= '&d=' . urlencode ($this->fallback);
改为
$gravatar = $this->gravatar . $hash . '.png?';
$gravatar .= 's=' . urlencode ($this->iconSize);
$gravatar .= '&d=' . urlencode ($this->fallback);
到这里我们就已经切换到Cravatar了,当然准求细节的朋友可以继续修改翻译文件,将后台显示 Gravatar 全部改成 Cravatar,这个可以自行去改,这里还提一点就是 Cravatar 和 Gravatar 都支持404, mp, identicon, monsterid, wavatar, retro, robohash, blank等6种头像风格,而hashover只做了identicon, monsterid, wavatar, retro这几种风格,我们可以根据需要加上剩下的几种,修改方法:
1、修改/hashover/backend/classes/settings.php文件,第157行
$gravatar_defaults = array ('identicon', 'monsterid', 'wavatar', 'retro');
改为
$gravatar_defaults = array ('mp', 'identicon', 'monsterid', 'wavatar', 'retro', 'robohash', 'blank');
2、修改文件/hashover/admin/settings/index.php,第277行开始
'options' => array (
'custom' => 'Custom',
'identicon' => 'Identicon',
'monsterid' => 'Monsterid',
'wavatar' => 'Wavatar',
'retro' => 'Retro'
)
改为
'options' => array (
'custom' => 'Custom',
'mp' => 'Mp',
'identicon' => 'Identicon',
'monsterid' => 'Monsterid',
'wavatar' => 'Wavatar',
'retro' => 'Retro',
'robohash' => 'Robohash',
'blank' => 'Blank'
)
如果我们希望自定义并固定住我们自己对外显示的头像,只需要在https://cravatar.cn/网站注册账号,然后添加头像就可以了。