function ConfigTranslationHooks::entityOperation

Implements hook_entity_operation().

Attributes

#[Hook('entity_operation')]

File

core/modules/config_translation/src/Hook/ConfigTranslationHooks.php, line 183

Class

ConfigTranslationHooks
Hook implementations for config_translation.

Namespace

Drupal\config_translation\Hook

Code

public function entityOperation(EntityInterface $entity) : array {
  $operations = [];
  $entity_type = $entity->getEntityType();
  if ($entity_type->entityClassImplements(ConfigEntityInterface::class) && $entity->hasLinkTemplate('config-translation-overview') && \Drupal::currentUser()->hasPermission('translate configuration')) {
    $link_template = 'config-translation-overview';
    if ($entity instanceof FieldConfigInterface) {
      $link_template = "config-translation-overview.{$entity->getTargetEntityTypeId()}";
    }
    $operations['translate'] = [
      'title' => $this->t('Translate'),
      'weight' => 50,
      'url' => $entity->toUrl($link_template),
    ];
  }
  return $operations;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.