Comment modifier les onglets de liens trouvés sur la page de profil utilisateur par défaut dans drupal? J'essaie d'éviter de créer un fichier user_profile.tpl.php et de reconstruire le profil entier à partir de zéro. S'il y a un moyen plus simple de le faire, je préfère le faire. Mais, si je suis obligé de créer un modèle personnalisé, comment puis-je contrôler les onglets de menu pour le profil? Je n'ai trouvé aucune documentation expliquant cette partie pour le moment.Comment modifier les onglets de liens trouvés sur la page de profil utilisateur par défaut dans drupal?
Répondre
Modifier
Je ne surprends que vous vouliez faire une modification générique des onglets de profil utilisateur, pas nécessairement les enlever. J'ai modifié mon code pour fournir quelques exemples différents de la façon dont vous pouvez modifier les onglets.
Edit 2
Suppression du user_access()
contrôle sur la unset car il ne sera vérifié lors de la reconstruction menu. Ajouté l'exemple access callback
à la place.
Vous pouvez le faire dans un module personnalisé avec hook_menu_alter()
et unset()
:
function mymodule_menu_alter(&$items) {
// If you have the Devel module installed, uncomment to retrieve list
// of registered menu items to figure out what to unset.
// kpr($items);
// Change the name of the Edit tab
$items['user/%user_category/edit']['title'] = t('Awesome edit!');
// Disable the user edit tab, but don't disable the page if you go navigate
// directly to it
// @see http://api.drupal.org/api/function/hook_menu/6 for other types
$items['user/%user_category/edit']['type'] = MENU_CALLBACK;
// Only allow people with administer site configuration permissions to
// access the user edit and user edit account tabs.
$items['user/%user_category/edit']['access callback'] = 'user_access';
$items['user/%user_category/edit']['access arguments'] = array('administer site configuration');
$items['user/%user_category/edit/account']['access callback'] = 'user_access';
$items['user/%user_category/edit/account']['access arguments'] = array('administer site configuration');
// Completely disable the user edit tab, even if you go directly to it
// This affects all users, including user 1.
unset($items['user/%user_category/edit']);
unset($items['user/%user_category/edit/account']);
}
Chaque élément de menu est enregistré avec Drupal en utilisant le tableau $items
. Après avoir activé ce module, reconstruisez le cache et les onglets doivent être modifiés.
Vous pouvez utiliser le module Tab Tamer pour modifier les onglets de liens par défaut de Drupal qui apparaissent dans les pages de profil utilisateur.
- 1. Onglets Menu personnalisé dans la page de profil utilisateur Drupal
- 2. Drupal, Comment modifier la structure html du profil utilisateur
- 3. Comment filtrer par champ personnalisé Profil utilisateur dans Drupal Views?
- 4. Drupal: Inclure les données de profil utilisateur dans page.tpl (phptemplate_preprocess_page?)
- 5. types incompatibles trouvés: requis: enums par défaut dans les annotations
- 6. Drupal recherche utilisateur par profil nom et prénom requête
- 7. Drupal - page route - profil de contenu
- 8. Flux de news par défaut sur la page d'accueil de Visual Studio (profil C#)
- 9. Django: Configurer une page de profil utilisateur?
- 10. MOSS comment modifier les mises en page par défaut
- 11. Modifier la méthode de recherche par défaut dans les rails
- 12. Puis-je combiner les onglets de la page Vues avec les onglets générés par le module?
- 13. Comment modifier les paramètres par défaut de Typography dans WPF?
- 14. comment charger tous les onglets de jquery par défaut?
- 15. Modifier la tête de page dans le contrôle utilisateur
- 16. Facebook profil par défaut boîte FBML
- 17. Drupal: comment désactiver les onglets d'édition sur le frontal?
- 18. Comment afficher la version publique du profil utilisateur dans Rails?
- 19. Modifier la valeur par défaut de EnableViewState
- 20. modifier les liens d'URL sur la charge de document
- 21. Comment modifier un menu de l'onglet MENU_LOCAL_TASK dans Drupal
- 22. Modifier la hauteur par défaut de PickerControl
- 23. Catch clics sur les liens de fichiers (par opposition aux liens de page) dans jquery?
- 24. Modifier les onglets de l'intérieur WebView
- 25. Le paramètre de destination Drupal sur la page du compte utilisateur n'est pas permanent?
- 26. comment créer un formulaire utilisateur Drupal 6 affichant les résultats sur la page?
- 27. définir par défaut sur la page Web
- 28. Comment afficher le champ de profil Valeurs à une page simple dans drupal 6?
- 29. Modifier les onglets par programmation lors de l'utilisation d'idTabs
- 30. Comment créer un profil utilisateur personnalisé par rôle?
Je vais vérifier cette méthode demain et vous faire savoir si cela a fonctionné. Merci! –
Je n'ai pas compris que vous vouliez faire des modifications sur les onglets, sans nécessairement les supprimer complètement. J'ai mis à jour mon code pour vous donner quelques possibilités supplémentaires. –
J'ai remarqué un problème avec ce code. La seule fois où cette fonction semble appelée est lorsque vous soumettez à nouveau les modules à partir des pages d'administration. Après cela, cela ne s'appelle plus. Et parce que vous ne pouvez pas soumettre à nouveau les modules sans avoir administrer les autorisations de configuration de site, la fonction unset ne sera jamais appelée. Mais, j'ai enlevé la déclaration if et ça a bien fonctionné. Dans mon cas, il est acceptable que l'administrateur ne voit pas ou n'accède pas à cet élément de menu particulier, car c'est vraiment un élément de menu inutile. Merci beaucoup! Cependant, il doit toujours y avoir un moyen de faire fonctionner l'instruction if. –