Модули, обязательные хуки
Прислано: igdrasil@drupal.org
вс, 09/09/2007 - 09:46
появилась необходимость написать свой модуль, пока не делал ничего кроме вставки кода в страницы/блоки
какие хуки нужно прописывать обязательно? вроде бы видел модули, в которых отсутствовали имя_модуля_help и имя_модуля_perm, хотя они все есть в примерах на ДО. они не обязательны?
- igdrasil@drupal.org's blog
- Для комментирования войдите или зарегистрируйтесь
конечно не обязательны.
нужна справка по модулю? реализуйте hook_help не нужна? не реализуйте.
вообще нет такого понятия "обязательные хуки"
на заметку, вызвать хук из другого модуля например get_vocabularies из taxonomy:
<?php
$vocabularies = module_invoke('taxonomy', 'get_vocabularies');
?>- Для комментирования войдите или зарегистрируйтесь
get_vocabularies - это не хук) Его конечно можно так вызвать, но taxonomy_get_vocabularies проще и правильнее имхо.
To extend Drupal, a module need simply implement a hook. When Drupal wishes to allow intervention from modules, it determines which modules implement a hook and call that hook in all enabled modules that implement it.
"...Когда Друпал желает вторжения из модулей, он определяет какие модули реализуют хук и вызывает хуки всех включенных модулей, чтобы они могли выполнить определенные действия." taxonomy_get_vocabularies - это просто API модуля taxonomy и другие модули никак не "вторгаются" в систему таксономии с помощью своих хуков "get_vocabularies".
Обязательных хуков нет. Иногда могут быть полезны вообще модули без хуков - если модуль предоставляет только какое-то API другим хукам/темам.
help - справка, perm - список permissions, которые объявлены модулем. Не всегда это нужно.
Чаще всего я использую: menu, block, nodeapi, form_alter. Изредка init, link_alter, хуки для обработки форм submit, validate (хотя это не совсем хуки, но похожи).
- Для комментирования войдите или зарегистрируйтесь




Комментарии