function DefaultContentSubscriber::preExport

Same name in this branch
  1. main core/modules/media/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\media\EventSubscriber\DefaultContentSubscriber::preExport()
  2. main core/modules/file/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\file\EventSubscriber\DefaultContentSubscriber::preExport()
  3. main core/modules/layout_builder/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\layout_builder\EventSubscriber\DefaultContentSubscriber::preExport()
  4. main core/modules/content_moderation/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\content_moderation\EventSubscriber\DefaultContentSubscriber::preExport()
  5. main core/modules/link/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\link\EventSubscriber\DefaultContentSubscriber::preExport()
  6. main core/modules/path/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\path\EventSubscriber\DefaultContentSubscriber::preExport()
Same name and namespace in other branches
  1. 11.x core/modules/media/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\media\EventSubscriber\DefaultContentSubscriber::preExport()
  2. 11.x core/modules/layout_builder/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\layout_builder\EventSubscriber\DefaultContentSubscriber::preExport()
  3. 11.x core/modules/content_moderation/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\content_moderation\EventSubscriber\DefaultContentSubscriber::preExport()
  4. 11.x core/modules/link/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\link\EventSubscriber\DefaultContentSubscriber::preExport()
  5. 11.x core/modules/path/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\path\EventSubscriber\DefaultContentSubscriber::preExport()
  6. 11.x core/modules/file/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\file\EventSubscriber\DefaultContentSubscriber::preExport()
  7. 11.x core/modules/menu_link_content/src/EventSubscriber/DefaultContentSubscriber.php \Drupal\menu_link_content\EventSubscriber\DefaultContentSubscriber::preExport()

Reacts before an entity is exported.

Adds an export callback to ensure parent menu links are marked as dependencies, when exporting menu link content entities.

Parameters

\Drupal\Core\DefaultContent\PreExportEvent $event: The event object.

File

core/modules/menu_link_content/src/EventSubscriber/DefaultContentSubscriber.php, line 46

Class

DefaultContentSubscriber
Subscribes to default content-related events.

Namespace

Drupal\menu_link_content\EventSubscriber

Code

public function preExport(PreExportEvent $event) : void {
  if (!$event->entity instanceof MenuLinkContentInterface) {
    return;
  }
  $parentId = $event->entity
    ->getParentId();
  if (!str_starts_with($parentId, 'menu_link_content:')) {
    return;
  }
  [, $uuid] = explode(':', $parentId);
  $parent = $this->entityRepository
    ->loadEntityByUuid('menu_link_content', $uuid);
  if ($parent instanceof MenuLinkContentInterface) {
    $event->metadata
      ->addDependency($parent);
    return;
  }
  $this->getLogger()
    ->error("The parent (%parent) of menu link %uuid could not be loaded.", [
    '%parent' => $uuid,
    '%uuid' => $event->entity
      ->uuid(),
  ]);
}

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