protected RouteSubscriber::alterRoutes(RouteCollection $collection)
Alters existing routes for a specific collection.
Parameters
\Symfony\Component\Routing\RouteCollection $collection: The route collection for adding routes.
Overrides RouteSubscriberBase::alterRoutes
File
- core/modules/field_ui/src/Routing/RouteSubscriber.php, line 36
Class
- RouteSubscriber
- Subscriber for Field UI routes.
Namespace
Drupal\field_ui\Routing
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | protected function alterRoutes(RouteCollection $collection ) { foreach ( $this ->manager->getDefinitions() as $entity_type_id => $entity_type ) { if ( $route_name = $entity_type ->get( 'field_ui_base_route' )) { // Try to get the route from the current collection. if (! $entity_route = $collection ->get( $route_name )) { continue ; } $path = $entity_route ->getPath(); $options = $entity_route ->getOptions(); if ( $bundle_entity_type = $entity_type ->getBundleEntityType()) { $options [ 'parameters' ][ $bundle_entity_type ] = array ( 'type' => 'entity:' . $bundle_entity_type , ); } // Special parameter used to easily recognize all Field UI routes. $options [ '_field_ui' ] = TRUE; $defaults = array ( 'entity_type_id' => $entity_type_id , ); // If the entity type has no bundles and it doesn't use {bundle} in its // admin path, use the entity type. if ( strpos ( $path , '{bundle}' ) === FALSE) { $defaults [ 'bundle' ] = ! $entity_type ->hasKey( 'bundle' ) ? $entity_type_id : '' ; } $route = new Route( "$path/fields/{field_config}" , array ( '_entity_form' => 'field_config.edit' , '_title_callback' => '\Drupal\field_ui\Form\FieldConfigEditForm::getTitle' , ) + $defaults , array ( '_entity_access' => 'field_config.update' ), $options ); $collection ->add( "entity.field_config.{$entity_type_id}_field_edit_form" , $route ); $route = new Route( "$path/fields/{field_config}/storage" , array ( '_entity_form' => 'field_storage_config.edit' ) + $defaults , array ( '_permission' => 'administer ' . $entity_type_id . ' fields' ), $options ); $collection ->add( "entity.field_config.{$entity_type_id}_storage_edit_form" , $route ); $route = new Route( "$path/fields/{field_config}/delete" , array ( '_entity_form' => 'field_config.delete' ) + $defaults , array ( '_entity_access' => 'field_config.delete' ), $options ); $collection ->add( "entity.field_config.{$entity_type_id}_field_delete_form" , $route ); $route = new Route( "$path/fields" , array ( '_controller' => '\Drupal\field_ui\Controller\FieldConfigListController::listing' , '_title' => 'Manage fields' , ) + $defaults , array ( '_permission' => 'administer ' . $entity_type_id . ' fields' ), $options ); $collection ->add( "entity.{$entity_type_id}.field_ui_fields" , $route ); $route = new Route( "$path/fields/add-field" , array ( '_form' => '\Drupal\field_ui\Form\FieldStorageAddForm' , '_title' => 'Add field' , ) + $defaults , array ( '_permission' => 'administer ' . $entity_type_id . ' fields' ), $options ); $collection ->add( "field_ui.field_storage_config_add_$entity_type_id" , $route ); $route = new Route( "$path/form-display" , array ( '_entity_form' => 'entity_form_display.edit' , '_title' => 'Manage form display' , 'form_mode_name' => 'default' , ) + $defaults , array ( '_field_ui_form_mode_access' => 'administer ' . $entity_type_id . ' form display' ), $options ); $collection ->add( "entity.entity_form_display.{$entity_type_id}.default" , $route ); $route = new Route( "$path/form-display/{form_mode_name}" , array ( '_entity_form' => 'entity_form_display.edit' , '_title' => 'Manage form display' , ) + $defaults , array ( '_field_ui_form_mode_access' => 'administer ' . $entity_type_id . ' form display' ), $options ); $collection ->add( "entity.entity_form_display.{$entity_type_id}.form_mode" , $route ); $route = new Route( "$path/display" , array ( '_entity_form' => 'entity_view_display.edit' , '_title' => 'Manage display' , 'view_mode_name' => 'default' , ) + $defaults , array ( '_field_ui_view_mode_access' => 'administer ' . $entity_type_id . ' display' ), $options ); $collection ->add( "entity.entity_view_display.{$entity_type_id}.default" , $route ); $route = new Route( "$path/display/{view_mode_name}" , array ( '_entity_form' => 'entity_view_display.edit' , '_title' => 'Manage display' , ) + $defaults , array ( '_field_ui_view_mode_access' => 'administer ' . $entity_type_id . ' display' ), $options ); $collection ->add( "entity.entity_view_display.{$entity_type_id}.view_mode" , $route ); } } } |
Please login to continue.