overview field usage example

Synopsis

Overview

Provides a custom field to add different predefined overviews.

This can be used to add views / blocks / ...

Usage

Add an option to the dropdown list:

/**
 * Implements hook_overview_field_options_alter().
 *
 * Add an option to the overview field.
 */
function overview_field_example_overview_field_options_alter(&$options) {
  $options['recent_content'] = t('Show a list of the recent content on the site');
  $options['example_block'] = t('Loads a block');
}

Load the output for the previously declared option.


/**
 * Implements hook_overview_field_output_alter().
 */
function overview_field_example_overview_field_output_alter($key, &$output) {
  if ($key == 'recent_content') {
    $output = overview_field_load_view('content_recent', 'block_1');
  }
  if ($key == 'example_block') {
    $block_manager = \Drupal::service('plugin.manager.block');
    $config = [];
    $plugin_block = $block_manager->createInstance('block_name', $config);
    $output = $plugin_block->build();
  }
}

Requirements

You need to know how to create a custom module.

Paragraphs to add an overview field paragraph with the overview field.

Roadmap

  • Add more tests to the module.
  • Add extra options with Plugin derivatives instead of alters.

Known problems

/

Credits

Dropsolid for development time.

Help wanted!

  • Help is always wanted by using and testing the module and reporting bugs.

* Block field
The block field module allows you to add blocks to fields as well but through the interface.
Advantage of adding the options through code, is that you can add anything, from a simple view to some custom coding you did.
The block field module allows the content editor also to choose how many items are shown on an overview and in what format, while this is not possible with the overview field module. For our policy, this is an advantage as well.

If you encounter more similar projects, feel free to create an issue.

Dependencies

  • Field

Restrictions

/

Supporting organizations: 
Developing time for the module

Project information

Releases