虽然早在去年初,乐铺就已经支持 OpenID 登录方式了,当时还为 OpenID 的中文名拉过赞助…… 不过对于大部分人而言,可能对 OpenID 还比较陌生。从国内寥寥无几支持 OpenID 的网站就可以看得出来。
我坚信这种情况不会持续太久了,前段时间 Yahoo! 率先支持了 OpenID 协议,允许在支持 OpenID 的网站上使用 Yahoo! 帐号登录。上月末 Google 也加入了支持行列(虽然支持的很烂)。相信随着两大网络巨头的加入,大家对 OpenID 的应用会越来越熟悉了吧。
抽了一个晚上时间,把乐铺原来简陋的 OpenID 功能完善了一下,现在已经可以允许一个帐号同时绑定多个 OpenID 了,并且加入了通过 Google 帐号注册的功能(Yahoo! 的 Api 没找到返回 Email 的地方,所以不能注册,只能绑定)。希望能对国内的 OpenID 推动起到一些作用。欢迎大家亲自去体验。
对了,还有个秘密透漏下:凡是通过 OpenID 注册的帐号,会自动获得 N 元的折扣券一张哦,N 是多少?对不起,我也不知道……
乐铺的服务器不支持 apache url rewrite,所以之前的网址都很“丑陋”,比如:
http://www.loopo.cn/items.php/110
http://www.loopo.cn/forum.php/1/100
因为这个原因,被几个朋友BS了几次……
今天在 DB 的时候,忽然想到一个办法:乐铺的服务器是支持自定义 404 页面的,这样的话,就可以把所有的请求定位到这个 404 页来处理了,即所有的页面“都是 404”,然后再统一由 404.php
来处理重定向。
在解决乐铺的 tag 排序的问题上,碰到一点麻烦。原因出在乐铺的所有 tag 列表页:http://www.loopo.cn/tags/
刚开始是按照 tag 数量的多少排序的,这样最简单,不过缺点就是没有“公平对待”每一个 tag,特别是用了 tag 云状显示结构以后,最大的 tag 在前面,最小的在后面,看起来很不舒服。
后台改成了按 tag 的 name 排序,在数据库中是直接 ORDER BY tagname 操作的,这里又体现出来了汉字的“优点”,英文里面,只要 order by 一下就会按 a-z 的顺序列出来了,汉字可不行,这样做顺序是打乱了,显示的效果也好一些了,不过缺点也显而易见:没有规律性。想找一个特定的tag比较困难。
再后台想到了按汉字的拼音排序的想法,搜索了一下,之前有收藏过一个函数可以把汉字转换为拼音的,原理是通过判断区位码的方法来实现简单的拼音转换的。在本地简单测试了一下,正要往上用的时候,又有麻烦了,原来这个转换是从gb2312到拼音的,乐铺上的用的编码是utf8格式的,死活转不过去。还好服务器有支持iconv函数,又通过 iconv 转换了一次,这才正常。
使用过程中发现存在的几点问题:
- 1.有很多生僻字都不能正确转换,好像只有国标里的汉字才可以;
- 2.多音字处理不好,有时候转换出来的拼音莫名其妙。
上面两点问题在应用中用其它办法弥补一下就可以了,等有更好的解决办法再说吧。嘿嘿!
补充:后来在PHPCLASS发现了一个更强大的类,Chinese Text Conversion,乐铺现在用的就是这个类。有兴趣的朋友可以下来研究一下。
昨天吃饭的时候。
春艳:“我们的网站别人不都是说是2.0的吗?那为什么loopo的LOGO上面还是写1.0啊?”
我:“……”
接着我花费相当多的口舌来解释此“1.0”和彼“2.0”的不同。
不知道我的解释她能否听得明白,一个连自己都似是而非的概念,又何以去教导别人呢……