Ajout d'un lien vers la page / admin / config [fermé]
8
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 .
Pourquoi est-ce clos comme «peu clair»? C'est assez clair, et l'administrateur final a modifié à la fois la question et la réponse acceptée. Est-ce que cela appartient ici ou non?
user1359
Décrire une tâche et dire que j'ai lu de nombreux didacticiels sans dire ce que ces didacticiels suggéraient et pourquoi ils ne fonctionnaient pas pour le PO ne pose pas de question.
kiamlaluno
La question a été modifiée pour supprimer une balise; la réponse a été modifiée pour annuler une modification suggérée incorrecte. Ni les modifications n'ont changé la signification des messages.
kiamlaluno
Réponses:
14
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:
Existe-t-il un moyen simple de trouver la valeur parent pour un menu administrateur spécifique? J'ai creusé dans le cœur, mais il peut être difficile de déterminer de quel module principal provient un menu particulier.
James Shields
C'est un très bon point et c'est très utile! Je veux cependant faire une petite remarque: dans votre exemple, il devrait y avoir ":" après action_method_name. Voici un exemple de travail: mymodule.action_method_name: title: 'My Title'Cheers!
Nikolay Borisov
J'ai une question similaire à celle de James. Comment trouver le nom du parent du menu?
@jpt, la question d'origine concerne les "Services Web". Il est évident que "People" provient du module utilisateur, mais si vous ne savez pas, vous pouvez effectuer une recherche rapide dans tous les fichiers * .links.menu.yml que vous avez dans votre installation Drupal.
4k4
5
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.ymlet mymodule.links.menu.yml.
Au mymodule.links.menu.ymlfichier, vous pouvez écrire ceci:
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:
Ensuite, placez l'élément de menu dans mymodule.links.menu.yml et placez-le sous le bon parent:
Pour les sous-menus dans admin / config, vous choisissez le parent correspondant, par exemple "Regional And Language" est:
Pour les "services Web":
la source
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
etmymodule.links.menu.yml
.Au
mymodule.links.menu.yml
fichier, vous pouvez écrire ceci:Et à
mymodule.routing.yml
cela: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!
la source
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:
Où pied de page est l'argument @Type et fait référence au type de page de configuration que vous appelez.
la source