J'apprends à créer un module pour Drupal 8. J'ai lu de nombreux tutoriels de base, mais je n'en ai pas vu parler de l'ajout d'un lien vers la page / admin / config .
Plus précisément, je voudrais ajouter le lien sous la zone SERVICES WEB .
J'apprends à créer un module pour Drupal 8. J'ai lu de nombreux tutoriels de base, mais je n'en ai pas vu parler de l'ajout d'un lien vers la page / admin / config .
Plus précisément, je voudrais ajouter le lien sous la zone SERVICES WEB .
Réponses:
Vous pouvez le faire de la même manière que n'importe quel autre élément de menu, il vous suffit de choisir la bonne position dans la structure du menu:
Ajoutez d'abord le chemin d'administration dans votre mymodule.routing.yml:
/admin/config/...
Ensuite, placez l'élément de menu dans mymodule.links.menu.yml et placez-le sous le bon parent:
mymodule.action_method_name:
title: 'My Title'
description: 'My Description'
parent: system.admin_config
route_name: 'mymodule.action_method_name'
Pour les sous-menus dans admin / config, vous choisissez le parent correspondant, par exemple "Regional And Language" est:
parent: system.admin_config_regional
Pour les "services Web":
parent: system.admin_config_services
mymodule.action_method_name: title: 'My Title'
Cheers!
*.links.menu.yml
le module système: cgit.drupalcode.org/drupal/tree/core/modules/system/…
Il est très simple de créer un lien sous Services à /admin/config
.
Sur cet exemple, je suppose que le contenu de la page d'administration, appelé paramètres, sera rempli par un contrôleur à l'intérieur src/Controller/MymoduleController.php
À la racine de votre module, vous avez deux fichiers, mymodule.routing.yml
et mymodule.links.menu.yml
.
Au mymodule.links.menu.yml
fichier, vous pouvez écrire ceci:
mymodule.settings:
title: 'My module settings page'
parent: system.admin_config_services
description: 'Admin settings page link'
route_name: mymodule.settings
Et à mymodule.routing.yml
cela:
mymodule.settings:
path: '/admin/config/services/mymodule'
defaults:
_controller: '\Drupal\quotesapi\Controller\MymoduleController::settings'
_title: 'My module settings'
requirements:
_permission: 'administer site configuration'
Ensuite, vous pouvez définir le contenu de la page avec les paramètres de fonction du contrôleur () Mais cela sort du cadre de votre question.
J'espère que cela aide!
J'ai trouvé ce module pour répondre à mes besoins de manière très simple à utiliser:
https://www.drupal.org/project/config_pages
Vous pouvez trouver des instructions complètes sur la façon de le configurer dans l'URL ci-dessus.
Utilisation du code:
<?php print config_pages_get('footer', 'field_footer_copyright'); ?>
Où pied de page est l'argument @Type et fait référence au type de page de configuration que vous appelez.