You are here

public static function Ds::getFields in Display Suite 8.4

Same name and namespace in other branches
  1. 8.2 src/Ds.php \Drupal\ds\Ds::getFields()
  2. 8.3 src/Ds.php \Drupal\ds\Ds::getFields()

Gets all Display Suite fields.

Parameters

string $entity_type: The name of the entity.

Return value

array Collection of fields.

3 calls to Ds::getFields()
ds_entity_view_alter in ./ds.module
Implements hook_entity_view_alter().
ExtrasPermissions::extrasPermissions in modules/ds_extras/src/ExtrasPermissions.php
Returns an array of ds extras permissions.
_ds_field_ui_fields in includes/field_ui.inc
Add the fields to the Field UI form.

File

src/Ds.php, line 23

Class

Ds
Helper class that holds all the main Display Suite helper functions.

Namespace

Drupal\ds

Code

public static function getFields($entity_type) {
  static $static_fields;
  if (!isset($static_fields[$entity_type])) {
    foreach (\Drupal::service('plugin.manager.ds')
      ->getDefinitions() as $plugin_id => $plugin) {

      // Needed to get derivatives working.
      $plugin['plugin_id'] = $plugin_id;
      if (is_array($plugin['entity_type'])) {
        foreach ($plugin['entity_type'] as $plugin_entity_type) {
          $static_fields[$plugin_entity_type][$plugin_id] = $plugin;
        }
      }
      else {
        $static_fields[$plugin['entity_type']][$plugin_id] = $plugin;
      }
    }
  }
  return isset($static_fields[$entity_type]) ? $static_fields[$entity_type] : [];
}