2009-10-22 10 views
1

J'ai hérité d'un site Drupal5 et j'ai été chargé de faire quelques changements, mais je n'arrive pas à savoir par où commencer.

Sur plusieurs pages il y a un menu à la disposition des administrateurs qui vous permet ne faire certaines actions:

Aperçu Spécialistes Ressources et outils Dans le domaine Nouvelles Événements Cours Multimédia Modifier piste Workflow Paramètres

Cependant, sur certaines sections, il existe différentes options: Aperçu Mise en page Paramètres Paramètres de mise en page avancée Contexte contenu Export

Je dois ajouter (Edit, Piste, Workflow, Paramètres) au deuxième menu, mais je ne suis pas sûr de savoir comment faire.

Je vois dans page.tpl.php il y a une région pour $ tabs, mais je n'arrive pas à comprendre comment ça se construit. D'après ce que je peux dire, le thème est basé sur le thème Zen STARTERKIT.

Répondre

6

La variable $ tabs est normalement remplie avec des entrées de menu de type MENU_LOCAL_TASK.

Jetez un oeil à la menu system, et en particulier au hook_menu() pour avoir une idée de base. Il se résume à un mappage des fonctions de rappel aux chemins. Si une URL correspond à un chemin défini dans hook_menu (peut contenir des espaces réservés!), La fonction de rappel enregistrée pour ce chemin sera appelée pour générer le contenu de cette URL.

Le 'type' de l'élément hook_menu définit la façon dont la combinaison chemin/rappel est représentée dans le système. Il peut s'agir d'un MENU_CALLBACK, ce qui signifierait simplement la combinaison chemin/rappel enregistré, mais aucune entrée de menu «réel» correspondante. A MENU_NORMAL_ITEM, serait le même, mais avec une entrée de menu 'standard', par ex. dans le menu de navigation. Un MENU_LOCAL_TASK est le même, mais l'entrée de menu correspondante apparaît généralement dans les onglets $ et non dans un menu.

Tous les MENU_LOCAL_TASK partageant le même chemin de base finiront par former un groupe d'onglets. Donc, si vous aviez des chemins comme:

  • /chemin/tab1
  • /chemin/tab2
  • /chemin/tab3

et tous ces lorsqu'ils sont définis comme MENU_LOCAL_TASK, vous verrait un onglet pour chacun d'eux sur chaque page qu'ils représentent.Donc, pour trouver les endroits que vous avez besoin de modifier/améliorer, vous devez chercher dans votre code toutes les implémentations hook_menu() qui définissent les chemins où ces onglets apparaissent. Notez qu'ils n'ont pas besoin d'être tous définis au même endroit, mais qu'ils peuvent provenir de différentes implémentations dans différents modules. Que vous auriez besoin d'ajouter des définitions de menu pour les onglets que vous souhaitez ajouter, en mappant les chemins pertinents aux fonctions de rappel. Les fonctions de rappel retourneront le contenu des pages que l'utilisateur devrait voir en cliquant sur les onglets.

0

Si vous affichez un nœud, il y a généralement le lien Éditer dans les onglets $, puisqu'il n'est pas présent et peut être quelque chose d'autre (un type de module de disposition). Vous devez ajouter des options Modifier/Piste pour éditer/suivre quel type de contenu? Nœud spécifique ou quoi?

Questions connexes