D.H.Q的烂笔头

Just code for fun~

Zotonic 自定义类似QQ空间404的公益页面

最近在微博上看到 QQ 空间修改了自己的 HTTP 404 状态码 页面,用户打开了一个网站不存在的页面时,会显示如下图所示的画面:

QQ空间404

这种把公益融合在功能上的修改,由心的觉得很赞!

恰好本人有一个蔽站,这种利人不损自的事情,何乐而不为:^)。

对于404的公益数据,国内的 益播公益 有提供调用的API,只需在定义的404页面上加上一下代码就行:

<iframe scrolling='no' frameborder='0' src='http://yibo.iyiyun.com/js/yibo404' width='735' height='700' style="display:block;"></iframe>

由于 Zotonic 把 404 作为系统内部的一个错误,并且把产生的错误默认统一显示在根目录下/modules/mod_base/templates/error.tpl文件下,所以要把上面的代码加在"error.tpl"文件里。不过为了不影响其他网站(如果建有多个 Zotonic 网站)的错误显示,或者以后 Zotonic 版本升级被覆盖掉,这里我把 error.tpl 文件拷贝一份到我网站的模板目录下(/priv/sites/网站名/templates)。下面“#”里括住的代码是在"error.tpl"文件上新加的对404状态特殊判断的代码。

{% extends "base.tpl" %}

{% block title %} {{ error_code }} Error {% endblock %}

{% block content %}
{% if error_code == 403 %}
	<h1>{_ No Access _}</h1>
	<p>{_ Sorry, you don’t have access to this page. _}</p>
	
{################自定义404###############}
{% elseif error_code == 404 %}
	<iframe scrolling='no' frameborder='0' src='http://yibo.iyiyun.com/js/yibo404' width='735' height='700' style="display:block;"></iframe>
{########################################}

{% elseif error_code == 410 %}
  <h1>{_ Gone_}</h1>
  <p>{_ Sorry, this page has been deleted. _}</p>
{% else %}
...

OK,打开 “http://dhq.me/404” 或者在域名后面随便输入一些东西看效果吧:)

comments powered by Disqus
返回顶部