Модули, обязательные хуки

Прислано: igdrasil@drupal.org

вс, 09/09/2007 - 09:46

Другие статьи по теме:

появилась необходимость написать свой модуль, пока не делал ничего кроме вставки кода в страницы/блоки
какие хуки нужно прописывать обязательно? вроде бы видел модули, в которых отсутствовали имя_модуля_help и имя_модуля_perm, хотя они все есть в примерах на ДО. они не обязательны?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано ԉӱҭѧ в вс, 09/09/2007 - 10:14.

конечно не обязательны.
нужна справка по модулю? реализуйте hook_help не нужна? не реализуйте.
вообще нет такого понятия "обязательные хуки"

на заметку, вызвать хук из другого модуля например get_vocabularies из taxonomy:

<?php
$vocabularies 
module_invoke('taxonomy''get_vocabularies');
?>


Опубликовано edhel в вс, 09/09/2007 - 15:36.

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 (хотя это не совсем хуки, но похожи).


Ссылки партнёров