Example form
Example table structure
Example field settings form
Example flexbox form display
Example formatter settings
Example Jsonapi output.

Dynamic custom field types with extensive widget and formatter plugin support. A highly performant & scalable alternative to paragraphs and entity reference by storing data in a single table.

Community support

Have a support question or new feature you want to discuss? Join the Drupal #custom-field slack channel.

Features

  • Multiple-value fields without entity references
  • Inline field widgets using a customizable css-flexbox-based layout system
  • Multiple field formatters: Default (custom theme hook), Inline, HTML List, Table, Custom Template (similar to views' field rewrite functionality)
  • Clone field settings from ANY entity type
  • Add/Remove columns to fields with existing data. See documentation
  • Performance & scalability - Eliminates unnecessary field table bloat and configuration files
  • Reduce overhead - May replace the need for additional contrib modules

Integrations

Migrate to Custom fields

You can use the Field Updater Service module to map 1 or more fields in a configuration entity and use the provided service in an update hook from your custom module.

Included sub-modules

Module Description
custom_field_ai AI (Artificial Intelligence) integration
custom_field_entity_browser Entity Browser integration
custom_field_graphql GraphQL compose integration
custom_field_jsonapi JSON:API integration
custom_field_linkit Linkit integration
custom_field_media Provides a Media Library widget
custom_field_sdc Use Single Directory Components in manage display.
custom_field_search_api Enhances Search API integration
custom_field_viewfield Provides the ability to reference and display views

Field types, widgets & formatters

Why this module?

In most cases, creating multiple single value field api fields in an entity form is overkill for storing simple field data that would be better to consolidate in a single table. One Custom Field can contain many columns in a single table which can lead to a substantial boost in performance by eliminating unnecessary joins and allowing for simpler configuration management.

Project information

Releases