Field API

利用Field API可以把字段附加到Drupal实体中,并提供了对字段数据的存储、载入、编辑以及渲染支持。Field API能把包括Node、User在内的任何实体变得“字段化”,也就是说可以把字段附加在实体之上。其他模块可以提供基于用户界面,可以通过浏览器来管理各种数据类型的字段,Form元素以及显示兼容性等。

Field API定义了两个重要的数据结构:Field(字段)和Instance(字段实例),以及一个重要的概念:Bundle。字段定义了可以附加到实体智商的数据类型。字段实例是一个附加到一个Bundle上的字段。一个Bundle是一系列的用Field Attach API组织起来的字段集合,并且这一集合会被附加到一个字段化的实体之上。

最佳实践:hook_cron

如果你成功的设置了Drupal Cronhook_cron()提供了一种不依赖页面请求的方式来进行后台任务,然而,Cron的滥用也有可能造成性能问题,甚至威胁数据完整性。

这里提供一些我们在实际工作中得来不易的一些Cron方面的最佳实践:

第一条:用变量控制Cron。

hook_cron()的每一次调用都封装在一个变量检查的条件之内,这个变量的缺省值是TRUE,想要禁止这个CRON,只要把这个变量创建起来并赋值为False即可,当你的CRON过程失控或者消耗太多资源时,这一手段是非常有效的。

Ubercart 3 模块列表

我编写了一个Ubercart 3兼容的模块列表,对于这其中列出的模块,我没有做一个完整的测试,这个工作太庞大了。另外也请注意,有些模块可能还在开发状态,可能并未完成甚至是刚刚启动。

如果有我漏记的模块,请补充到本页面中。

这个模块提供了对Adyen支付的支持。

这一模块用于处理预订过程的资源保留。(例如车,房间等可按时间以及日期进行订购的商品——译者注)。

在载入一个被其他匿名用户完整缓存的页面之后,用AJAX请求来完成Block的加载。

页面