2009-08-07 8 views
2

Je lis à travers le développement Pro Drupal en ce moment, et un exemple à la page 82 utilise la fonction suivante:fonctions crochet drupal et leurs arguments

function menufun_menu_link_alter(&$item, $menu){ 
    if ($item['link_path'] == 'logout'){ 
    $item['link_title'] = 'Sign off'; 
    } 
} 

Je comprends que je peux savoir quels paramètres « hook_menu_link_alter » prend en regardant api.drupal.org. Ce que je ne comprends pas, c'est comment je suis supposé savoir ce que $ contient réellement. Dans cet exemple, $ item ['link_path'] et $ item ['link_title'] ont tous deux été utilisés - comment savait-il qu'ils existaient?

Je ne suis pas seulement intéressé par cet exemple spécifique, bien sûr. Je veux pouvoir faire ceci pour n'importe quelle fonction que je regarde dans Drupal.

Merci d'avance pour l'aide!

+0

J'apprécie beaucoup l'aide. Merci! – ldweeks

Répondre

6

Si vous êtes allé à api.drupal.org et leva les yeux hook_menu_link_alter, vous obtiendrez cette page:

http://api.drupal.org/api/function/hook_menu_link_alter/6

qui comprend la note suivante:

"$item tableau Associatif définissant un le lien du menu tel que transmis au menu_link_save(). "

Si vous suivez le lien vers la page menu_link_save, vous seriez ici:

http://api.drupal.org/api/function/menu_link_save/6

dans lequel le contenu du paramètre $item est clairement répertoriés sous Paramètres.

4

Si vous utilisez le module Devel J'aime jeter un

dsm($item) 

là-bas pour voir ce que $ article contient actuellement. Il imprime un joli tableau interactif/navigateur d'objets.

Accordé, vous devez toujours aller à l'API pour rechercher toutes les possibilités, car cela montre seulement ce qui est actuellement défini. Mais il contient généralement assez pour obtenir ce que je cherche.

0

L'utilisation des documents API ou l'affichage des variables sont deux bons outils pour obtenir des informations. Ils ont tous deux leurs mérites, l'utilisation de devel est surtout utile lorsque vous déboguez et que vous voulez voir ce qui se passe. Une grande partie d'être un bon développeur Drupal ne sait pas tout, mais plus d'être en mesure de traquer les informations pertinentes. Parfois, il peut aussi être très utile de regarder le code ou le code par d'autres. Voir comment les autres font les choses peut parfois aider beaucoup quand vous voulez faire quelque chose de similaire. Google peut également être un bon outil ou discuter d'un problème avec quelqu'un. Il y a beaucoup de possibilités, il suffit d'apprendre à utiliser ces outils et d'utiliser ce qui fonctionne pour vous. Après avoir passé plus de temps sur api.drupal.org, vous obtenez mieux d'extraire des informations.

Questions connexes