og_sm-8.x-1.0/og_sm_taxonomy/src/EventSubscriber/SiteEventSubscriber.php

og_sm_taxonomy/src/EventSubscriber/SiteEventSubscriber.php
<?php

namespace Drupal\og_sm_taxonomy\EventSubscriber;

use Drupal\og_sm\Event\SiteEvent;
use Drupal\og_sm\Event\SiteEvents;
use Drupal\og_sm\SiteManagerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

/**
 * Listens to the site events.
 */
class SiteEventSubscriber implements EventSubscriberInterface {

  /**
   * The site manager.
   *
   * @var \Drupal\og_sm\SiteManagerInterface
   */
  protected $siteManager;

  /**
   * Constructs a SiteEventSubscriber object.
   *
   * @param \Drupal\og_sm\SiteManagerInterface $site_manager
   *   The site manager.
   */
  public function __construct(SiteManagerInterface $site_manager) {
    $this->siteManager = $site_manager;
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    $events = [];
    $events[SiteEvents::DELETE][] = 'onSiteDelete';

    return $events;
  }

  /**
   * Event listener triggered when a site is deleted.
   *
   * @param \Drupal\og_sm\Event\SiteEvent $event
   *   The site event.
   */
  public function onSiteDelete(SiteEvent $event) {
    $terms = $this->siteManager->getEntitiesBySite($event->getSite(), 'taxonomy_term');
    foreach ($terms as $term) {
      $term->delete();
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc