Custom Field
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.
Features
- Multiple-value fields without entity references
- Inline field widgets using a customizable css-flexbox-based layout system
- Multiple field formatters: CustomField (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
- custom_field_graphql - GraphQL compose integration.
- custom_field_linkit - Linkit integration.
- custom_field_media - Provides a Media Library widget.
- custom_field_search_api - Enhances Search API integration.
- custom_field_viewfield - Provides the ability to reference and display views.
- custom_field_jsonapi - Provides normalizers for jsonapi integration.
Field types, widgets & formatters
- Overview of included field types, widgets & formatters
- Extending Custom Field widget plugins
- Extending Custom Field formatter plugins
Why this module?
In some cases, Drupal's field api for single value fields 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.
Requirements
This module requires no modules outside of Drupal core.
Installation
Install as you would normally install a contributed Drupal module. For further information, see Installing Drupal Modules.
Maintainers
- Andy Marquis - apmsooner