Je fais un site Web avec Drupal 7, et je regardais les autorisations pour Taxonomies. Je voulais donner aux mainteneurs du site Web une place centrale pour gérer les vocabulaires et ajouter des termes, trier les termes, etc. J'ai donc donné à leur rôle l'autorisation "Administrer les vocabulaires et les termes" sous Taxonomie. Cela a cependant entraîné une complication indésirable, principalement en leur donnant accès à la création de nouveaux champs et à la gestion de leur affichage (onglets "Gérer les champs" et "Gérer l'affichage").
Existe-t-il un moyen de leur donner accès à l'écran de modification du vocabulaire et des termes accessible via "Structure> Taxonomie" mais en désactivant toutefois les onglets "Gérer les champs" et "Gérer l'affichage" sur l'écran de modification du vocabulaire?
Je suis assez familier avec la notion de surcharge et de hooks dans Drupal 6, mais je suis assez nouveau dans Drupal 7 (en fait, c'est mon premier site Web D7, créé environ 5 ou 6 sites D6), donc cela ne me dérange pas le cas échéant, des solutions de codage. Je cherche juste une réponse ou une poussée dans la bonne direction.
Comme personne n'a encore répondu, je voulais ajouter que je suis prêt à chercher des alternatives à la zone centrale pour gérer les taxonomies (admin / structure / taxonomie). Je pourrais peut-être envisager de créer une page avec des vues pour simuler la page d'administration des taxonomies.
Est-ce faisable et quelqu'un a-t-il déjà fait quelque chose comme ça auparavant?
la source
Utilisez le module field_ui_permissions qui contrôle si les onglets "Gérer les champs" et "Gérer l'affichage" doivent être affichés ou non en fonction des autorisations de rôle.
la source
L'autorisation
administer taxonomy
est ce qui est utilisé pour accorder des autorisations de champ, si vous devez leur donner cette autorisation afin de leur donner accès à l'administration de la taxonomie, vous pouvez créer une nouvelle autorisation pour le champ ui.La façon la plus simple de définir cela est d'
hook_entity_info_alter
utiliser le hook, car c'est là que le chemin d'administration du champ ui est ajouté et l'autorisation d'accès pour eux. Vous pouvez également utiliserhook_menu_alter
pour modifier l'autorisation, mais c'est un peu plus de travail.la source
Vous pouvez essayer d'utiliser le hook_menu_alter () pour modifier le 'rappel d'accès' qui est configuré dans la fonction field_ui_menu () à partir du fichier field_ui.module. C'est là que les éléments de menu "Gérer les champs" et "Gérer les affichages" sont configurés.
Dans votre hook_menu_alter (), vous pouvez rechercher ces deux entrées d'élément de menu pour les chemins de taxonomie (puisque vous souhaitez conserver les versions de type de contenu de celles-ci), et modifier le `` rappel d'accès '' en une méthode personnalisée qui vérifie une nouvelle autorisation que vous créez dans hook_permission ().
J'ai fait quelque chose de similaire dans le passé et serais heureux d'envoyer du code si nécessaire.
la source