og_sm-8.x-1.0/og_sm_routing/src/Plugin/OgGroupResolver/SiteRouteGroupResolver.php

og_sm_routing/src/Plugin/OgGroupResolver/SiteRouteGroupResolver.php
<?php

namespace Drupal\og_sm_routing\Plugin\OgGroupResolver;

use Drupal\node\NodeInterface;
use Drupal\og\OgResolvedGroupCollectionInterface;
use Drupal\og_sm_context\Plugin\OgGroupResolver\OgSmGroupResolverBase;

/**
 * Tries to get the context for site routes.
 *
 * Will check if:
 * - The site routes has a "og_sm_routing:site" parameter.
 *
 * @OgGroupResolver(
 *   id = "og_sm_context_site_route",
 *   label = "Site Route",
 *   description = @Translation("Determine Site context based on a site route.")
 * )
 */
class SiteRouteGroupResolver extends OgSmGroupResolverBase {

  /**
   * {@inheritdoc}
   */
  public function resolve(OgResolvedGroupCollectionInterface $collection) {
    $group = $this->routeMatch->getParameter('og_sm_routing:site');
    if ($group instanceof NodeInterface && $this->siteManager->isSite($group)) {
      $collection->addGroup($group, ['url']);
      $this->stopPropagation();
    }
  }

}

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

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