58 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @file
							 | 
						||
| 
								 | 
							
								 * Devel sub-module to for generating content, menus, taxonomy terms etc.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * See src/Plugin for specific details of each type that can be generated.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use Drupal\Core\StringTranslation\TranslatableMarkup;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Implements hook_menu_links_discovered_alter().
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								function devel_generate_menu_links_discovered_alter(array &$links): void {
							 | 
						||
| 
								 | 
							
								  $devel_generate_plugins = \Drupal::service('plugin.manager.develgenerate')->getDefinitions();
							 | 
						||
| 
								 | 
							
								  foreach ($devel_generate_plugins as $id => $plugin) {
							 | 
						||
| 
								 | 
							
								    $label = $plugin['label'];
							 | 
						||
| 
								 | 
							
								    $links['devel_generate.' . $id] = [
							 | 
						||
| 
								 | 
							
								      'title' => new TranslatableMarkup("Generate @label", ['@label' => $label]),
							 | 
						||
| 
								 | 
							
								      'parent' => 'devel_generate.admin_config_generate',
							 | 
						||
| 
								 | 
							
								      'description' => $plugin['description'],
							 | 
						||
| 
								 | 
							
								      'route_name' => 'devel_generate.' . $id,
							 | 
						||
| 
								 | 
							
								      'provider' => 'devel_generate',
							 | 
						||
| 
								 | 
							
								    ];
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // Store the basic link info for repeated use. Each of the three actual links
							 | 
						||
| 
								 | 
							
								  // require subtle variations on this.
							 | 
						||
| 
								 | 
							
								  $basics = [
							 | 
						||
| 
								 | 
							
								    'title' => new TranslatableMarkup('Generate'),
							 | 
						||
| 
								 | 
							
								    'description' => new TranslatableMarkup('Generate realistic items (content, users, menus, etc) to assist your site development and testing.'),
							 | 
						||
| 
								 | 
							
								    'route_name' => 'devel_generate.admin_config_generate',
							 | 
						||
| 
								 | 
							
								    'provider' => 'devel_generate',
							 | 
						||
| 
								 | 
							
								  ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // Define a separate group on admin/config page, so that 'Generate' has its
							 | 
						||
| 
								 | 
							
								  // own block with all the generate links.
							 | 
						||
| 
								 | 
							
								  $links['devel_generate.admin_config_generate'] = [
							 | 
						||
| 
								 | 
							
								    'parent' => 'system.admin_config',
							 | 
						||
| 
								 | 
							
								    // The main development group has weight -10 in system.links.menu.yml so use
							 | 
						||
| 
								 | 
							
								    // -9 here as this block should be near but just after it on the page.
							 | 
						||
| 
								 | 
							
								    'weight' => -9,
							 | 
						||
| 
								 | 
							
								  ] + $basics;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // Add a link in the main development group, to allow direct access to the
							 | 
						||
| 
								 | 
							
								  // the Generate page and to make the back breadcrumb more useful.
							 | 
						||
| 
								 | 
							
								  $links['devel_generate.generate'] = [
							 | 
						||
| 
								 | 
							
								    'title' => new TranslatableMarkup('Devel generate'),
							 | 
						||
| 
								 | 
							
								    'parent' => 'system.admin_config_development',
							 | 
						||
| 
								 | 
							
								  ] + $basics;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  // Define a top-level link (with no parent) in the 'devel' menu. This also
							 | 
						||
| 
								 | 
							
								  // means that it will be available in the devel admin toolbar.
							 | 
						||
| 
								 | 
							
								  $links['devel_generate.generate2'] = ['menu_name' => 'devel'] + $basics;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |