/** * {@inheritdoc} */ protected function alterRoutes(RouteCollection $collection) { $mappers = $this->mapperManager->getMappers($collection); foreach ($mappers as $mapper) { $collection->add($mapper->getOverviewRouteName(), $mapper->getOverviewRoute()); $collection->add($mapper->getAddRouteName(), $mapper->getAddRoute()); $collection->add($mapper->getEditRouteName(), $mapper->getEditRoute()); $collection->add($mapper->getDeleteRouteName(), $mapper->getDeleteRoute()); } }
/** * {@inheritdoc} */ public function getDerivativeDefinitions($base_plugin_definition) { $mappers = $this->mapperManager->getMappers(); foreach ($mappers as $plugin_id => $mapper) { /** @var \Drupal\config_translation\ConfigMapperInterface $mapper */ $route_name = $mapper->getOverviewRouteName(); $base_route = $mapper->getBaseRouteName(); if (!empty($base_route)) { $this->derivatives[$route_name] = $base_plugin_definition; $this->derivatives[$route_name]['config_translation_plugin_id'] = $plugin_id; $this->derivatives[$route_name]['class'] = '\\Drupal\\config_translation\\Plugin\\Menu\\LocalTask\\ConfigTranslationLocalTask'; $this->derivatives[$route_name]['route_name'] = $route_name; $this->derivatives[$route_name]['base_route'] = $base_route; } } return parent::getDerivativeDefinitions($base_plugin_definition); }
/** * {@inheritdoc} */ public function getDerivativeDefinitions($base_plugin_definition) { // Create contextual links for all mappers. $mappers = $this->mapperManager->getMappers(); foreach ($mappers as $plugin_id => $mapper) { // @todo Contextual groups do not map to entity types in a predictable // way. See https://drupal.org/node/2134841 to make them predictable. $group_name = $mapper->getContextualLinkGroup(); if (empty($group_name)) { continue; } /** @var \Drupal\config_translation\ConfigMapperInterface $mapper */ $route_name = $mapper->getOverviewRouteName(); $this->derivatives[$route_name] = $base_plugin_definition; $this->derivatives[$route_name]['config_translation_plugin_id'] = $plugin_id; $this->derivatives[$route_name]['class'] = '\\Drupal\\config_translation\\Plugin\\Menu\\ContextualLink\\ConfigTranslationContextualLink'; $this->derivatives[$route_name]['route_name'] = $route_name; $this->derivatives[$route_name]['group'] = $group_name; } return parent::getDerivativeDefinitions($base_plugin_definition); }