• Web application development
  • Future-proofing your websites
  • Drupal tips and tricks
  • and much more

A quick introduction to Drupal Entities

Drupal has always been known for its immense flexibility and exceptional adaptability. The CCK module's field system was a large step in the flexibility direction, but it had its limits. The fields were only really usable on content types (read: nodes), leading to additional modules which extended profiles, provided forms, a shopping cart, forums and more. But in Drupal 7, a new unified API, the entity system, was introduced that aimed to unify the various elements of the site - and it changed everything.

Undefined index: field in field_widget_field()

A few days ago, my colleague was building a custom form in Drupal 7. Everything was going great until he added a file field, at which point all hell broke loose. The data didn't submit and he received these notices:

Notice: Undefined index: field in field_widget_field() (Row 578 of ...)
Notice: Undefined index: instance in field_widget_instance() (Row 603 of ....)

Since the field was using a custom widget, we were first debugging there, until we finally found the real culprit somewhere completely else: passing by reference.