You are here

function asset_injector_entity_type_build in Asset Injector 8

Same name and namespace in other branches
  1. 8.2 asset_injector.module \asset_injector_entity_type_build()

Implements hook_entity_type_build().

Mark our entities for use in This way contrib modules can add additional assets by implementing \Drupal\asset_injector\AssetInjectorInterface.

See also

asset_injector_get_entity_types().

File

./asset_injector.module, line 35
Contains module asset_injector.

Code

function asset_injector_entity_type_build(array &$entity_types) {
  foreach ($entity_types as $entity_type_id => $entity_type) {
    if ($entity_type instanceof ConfigEntityType) {
      $interfaces = class_implements($entity_type
        ->getClass());
      if (isset($interfaces[AssetInjectorInterface::class])) {

        // Mark as ours.
        $entity_type
          ->set('asset_injector_entity_type', TRUE);

        // Add our duplicate-form.
        $path = $entity_type
          ->getLinkTemplate('canonical');
        $entity_type
          ->setLinkTemplate('duplicate-form', "{$path}/duplicate");
      }
    }
  }
}