2

私は今、Pro Drupal の開発を読んでいます。82 ページの例では、次の関数を使用しています。

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

api.drupal.org を見れば、"hook_menu_link_alter" が取るパラメーターを確認できることがわかりました。私が理解していないのは、 $item に実際に含まれているものを見つける方法です。この例では、$item['link_path'] と $item['link_title'] の両方が使用されています。

もちろん、私が興味を持っているのはこの特定の例だけではありません。drupal で見ているすべての機能でこれを実行できるようにしたいと考えています。

助けてくれてありがとう!

4

3 に答える 3

6

api.drupal.org にアクセスして検索するとhook_menu_link_alter、次のページが表示されます。

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

次のメモが含まれます。

"$itemに渡されるメニュー リンクを定義する連想配列menu_link_save()。"

ページへのリンクをたどると、次のようにmenu_link_saveなります。

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

パラメータの内容がParameters$itemの下に明確にリストされています。

于 2009-08-07T17:53:35.503 に答える
4

Devel モジュールを使用している場合は、

dsm($item)

そこに $item が現在含まれているものを確認します。素敵なインタラクティブな配列/オブジェクト ナビゲーターを出力します。

これは現在設定されているもののみを表示するため、すべての可能性を調べるために API にアクセスする必要があります。しかし、通常、探しているものを取得するのに十分な内容が含まれています。

于 2009-08-07T17:59:12.807 に答える
0

API ドキュメントを使用するか、変数を表示することは、どちらも情報を取得するための優れたツールです。どちらにも利点があり、devel を使用すると、デバッグ中に何が起こっているのかを確認したいときに最も便利です。優れた drupal 開発者であることの大部分は、すべてを知っているわけではなく、関連情報を追跡できることです。場合によっては、コードや他の人のコードを見ることも非常に役立つことがあります。他の人がどのように物事を行っているかを見ることは、あなたが似たようなことをしたいときに大いに役立つことがあります. Google は優れたツールにもなり、誰かと問題について話し合うこともできます。多くの可能性があります。これらのツールの使用方法を学び、自分に合ったものを使用するだけです. api.drupal.org でより多くの時間を費やすと、情報を抽出するのが上手になります。

于 2009-08-07T21:53:50.930 に答える