field_collection与multifield的简单对比

field_collection比较完美地实现了子字段的使用,但由于collection是通过entity+field实现的,据说有性能问题,还带来了数据迁移时的复杂性。drupal的entity+field可以被理解为扁平化结构的数据表,在扁平化结构中记录父子关系,对于复杂的数据查询是比较难构建的。试想一下,要提取某个node的所有field,首先得先将各个子字段表join到父字段(其实是个entity)表,再join到node表,还要join上其它非collection的field表。

Services模块的user login/logout方法

网上找了许多方法都是旧的(包括官网),都说要session/cookie、system.connect什么的。

其实步骤很简单。。。

首先去services/session/token获取当前的token

然后添加header:X-CSRF-Token: $your_token

要logout的话,以post方式提交至$endpoint/user/logout,无需任何参数

要loing的话,以post方式提交至$endpoint/user/login,需提交username=XXX&password=XXX参数

google feed api的时差问题

通过google feed api解析的得到的publishedDate,日期后面总是带上 -0800(有时是 -0700,不知道是什么原因),中国时区明明是+8的,所以出来的时间“大”了16个小时。

依靠强大的javascript,硬编码减去16个小时的毫秒数,暂时解决问题。

date = new Date(Date.parse(publishedDate)-16*3600*1000)