функции ловушек drupal и их аргументы - PullRequest
2 голосов
/ 07 августа 2009

Я сейчас читаю разработку Pro Drupal, и пример на странице 82 использует следующую функцию:

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

Я понимаю, что могу узнать, какие параметры принимает "hook_menu_link_alter", посмотрев на api.drupal.org. Чего я не понимаю, так это как я должен выяснить, что на самом деле содержит $ item. В этом примере использовались $ item ['link_path'] и $ item ['link_title'] - откуда он знал, что они существуют?

Меня, конечно, интересует не только этот конкретный пример. Я хочу быть в состоянии сделать это для любой функции, на которую я смотрю в drupal.

Заранее спасибо за помощь!

Ответы [ 3 ]

6 голосов
/ 07 августа 2009

Если вы зашли на 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

, в котором содержимое параметра $item четко указано в Параметры .

4 голосов
/ 07 августа 2009

Если вы используете модуль Devel, мне нравится бросать

dsm($item)

, чтобы увидеть, что в данный момент содержит $ item. Он печатает хороший интерактивный массив / навигатор объектов.

Конечно, вам все еще нужно обратиться к API, чтобы найти все возможности, поскольку это показывает только то, что установлено в данный момент. Но обычно он содержит достаточно, чтобы получить то, что я ищу.

0 голосов
/ 08 августа 2009

Использование API-документов или отображение переменных - хорошие инструменты для получения информации. Они оба имеют свои преимущества, использование devel в основном полезно, когда вы отлаживаете и хотите посмотреть, что происходит. Большая часть того, чтобы быть хорошим разработчиком на друпале - это не знать все, а больше уметь отслеживать соответствующую информацию Иногда также может быть очень полезно посмотреть на код или код других. Наблюдение за тем, как другие делают вещи, иногда может очень помочь, если вы хотите сделать что-то подобное. Google также может быть хорошим инструментом или обсуждать проблему с кем-то. Есть много возможностей, вам просто нужно научиться использовать эти инструменты и использовать то, что работает для вас. Потратив больше времени на api.drupal.org, вы получаете больше информации для извлечения информации.

...