You are here

public static function GeneralEntityReferenceFormatter::create in Formatter Suite 8

Creates an instance of the plugin.

Parameters

\Symfony\Component\DependencyInjection\ContainerInterface $container: The container to pull out services used in the plugin.

array $configuration: A configuration array containing information about the plugin instance.

string $plugin_id: The plugin ID for the plugin instance.

mixed $plugin_definition: The plugin implementation definition.

Return value

static Returns an instance of this plugin.

Overrides FormatterBase::create

File

src/Plugin/Field/FieldFormatter/GeneralEntityReferenceFormatter.php, line 126

Class

GeneralEntityReferenceFormatter
Formats an entity reference as one or more links.

Namespace

Drupal\formatter_suite\Plugin\Field\FieldFormatter

Code

public static function create(ContainerInterface $container, array $configuration, $pluginId, $pluginDefinition) {
  $tokenService = NULL;
  try {
    $tokenService = $container
      ->get('token');
  } catch (\Exception $e) {

    // Token services are not available? How? This is a core service.
  }
  $tokenTreeBuilder = NULL;
  try {
    $tokenTreeBuilder = $container
      ->get('token.tree_builder');
  } catch (\Exception $e) {

    // The contributed Token module is not installed.
  }
  return new static($pluginId, $pluginDefinition, $configuration['field_definition'], $configuration['settings'], $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], $tokenService, $tokenTreeBuilder);
}