fields

Conditional Fields

module_name
conditional_fields
Description

Adds a 'Manage dependencies' tab to the admin page for content types.

This lets you set a 'target field' whose visibility is set according to a 'control field' and whether the latter is full/empty/checked/unchecked/has a specific value.

Another useful feature is you can prefill/pre-tick etc. the target field (including with a custom text value, for example).

To detect quickly if it's in use anywhere (I needed to do this before being sure I could uninstall the module on a site), export your site config and grep the /config/sync directory for 'conditional_fields' - it's stored in the 'third_party_settings' key in core.entity_form_display.node.[content type].default.yml

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
No
Avoid
No
Deprecated
No

Layout builder

module_name
layout_builder
Description

Benefits:

  • Build layouts using GUI - arrange fields in columns/blocks (or add a block, or menu, or tag cloud, user info etc.) 
  • Easily override layout of individual nodes without needing to clone/design/apply a template (and reset to default easily afterwards)


Status:

Nov 2018: core, experimental in 8.6.x
May 1 2019: due for stable release in 8.7.0

Issue queue

Installation:

  • Enable the layout_builder module (which also enables layout_discovery)
  • Clear cache.
  • Activation:  Content type -> Manage Display -> scroll down to Layout Options - tick Use Layout builder

By turning on Layout Builder, you switch from the standard Manage Display view (field, label, format/widget settings) and the layout builder GUI.

Resources:

Compatibility:

  • A migration path is being built for Panels / Panelizer.
  • Undecided (Nov 2018) how Layout builder will work in conjunction with Paragraphs

 

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
No
Avoid
No
Deprecated
No

Devel

module_name
devel
Description

Key features:

  • Kint (enable kint submodule, for pretty variable printing, way to view properties and methods)
  • DevelMailLog (redirect all mail to text files instead, specify location directory, specify filenames using tokens for recipient, subject, timestamp) - DevelMailLog requires that you also install the MailSystem module to activate it
  • Config Editor and State Editor (enable via /admin/config/development/devel/toolbar)
Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
Yes
Avoid
No
Deprecated
No

Address

module_name
address
Description

Used to be called addressfield.  Adds one dependency - commerceguys/addressing.

This is a bundle of address fields, the correct combinations are shown depending on which country the user selects via a dropdown.
You can configure which countries are allowed per field instance.
To set the default, use the Manage Form Display tab.

It validates postcodes are in the correct format. 

Also supports 'zones' (groups of countries/subdivisions) for shipping/tax purposes.

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
No
Avoid
No
Deprecated
No

Serial Field

module_name
serial
Description

Creates a field with a serial number, so you can have the equivalent of a MySQL AUTO_INCREMENT field for a content type (if nodes are deleted the old serial number is not reused).

Although this only has a dev branch which hasn't had updates since April 2016, it does work in D8.

There's no direct migration path previous versions, but people have written their own migrations.

Check issue queue for patches - including:

 

 

Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
Yes
Avoid
No
Deprecated
No

Required by role

module_name
required_by_role
Description

Set required fields more precisely.

How to verify it it's in use on any fields (so you can remove it if desired)

I wanted to upgrade a site to D10 and there was a dependency from required_by_role on required_api, which was not yet D10 compatible. I wasn't sure if I was even using required_by_role on any fields - turns out I wasn't. There's no admin UI page overview which shows it's use, but you can just run a simple SQL query:

select * from config where data like "%required_by_role%";

(the config table is where all your field settings are stored).
Categories
Tested by me
Yes
Drupal 8 support
Yes
Essential
Yes
Avoid
No
Deprecated
No