123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace Drupal\devel_generate\Routing;
- use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
- use Drupal\Component\Plugin\PluginManagerInterface;
- use Symfony\Component\DependencyInjection\ContainerInterface;
- use Symfony\Component\Routing\Route;
- /**
- * Provides dynamic routes for devel_generate.
- */
- class DevelGenerateRoutes implements ContainerInjectionInterface {
- /**
- * Constructs a new devel_generate route subscriber.
- *
- * @param \Drupal\Component\Plugin\PluginManagerInterface $devel_generate_manager
- * The DevelGeneratePluginManager.
- */
- public function __construct(PluginManagerInterface $devel_generate_manager) {
- $this->DevelGenerateManager = $devel_generate_manager;
- }
- /**
- * {@inheritdoc}
- */
- public static function create(ContainerInterface $container) {
- return new static(
- $container->get('plugin.manager.develgenerate')
- );
- }
- public function routes() {
- $devel_generate_plugins = $this->DevelGenerateManager->getDefinitions();
- $routes = array();
- foreach ($devel_generate_plugins as $id => $plugin) {
- $label = $plugin['label'];
- $type_url_str = str_replace('_', '-', $plugin['url']);
- $routes["devel_generate.$id"] = new Route(
- "admin/config/development/generate/$type_url_str",
- array(
- '_form' => '\Drupal\devel_generate\Form\DevelGenerateForm',
- '_title' => "Generate $label",
- '_plugin_id' => $id,
- ),
- array(
- '_permission' => $plugin['permission'],
- )
- );
- }
- return $routes;
- }
- }
|