Làm cách nào tôi có thể tạo móc của riêng mình (tương tự như lõi Drupal tạo) cho các mô-đun Drupal khác để sử dụng?
Làm cách nào tôi có thể tạo móc của riêng mình (tương tự như lõi Drupal tạo) cho các mô-đun Drupal khác để sử dụng?
Câu trả lời:
Bạn không thực sự tạo ra móc. Bạn sử dụng các hàm trợ giúp như module_invoke_all()
, module_invoke()
hoặc drupal_alter()
để gọi tất cả các hàm khớp với mẫu tên dự kiến. Các hàm được gọi thường được tìm thấy với module_implements()
.
Ngay cả khi không cần thiết cho các hook hoạt động, cách tốt nhất là ghi lại chúng MODULE.api.php
bằng cách tạo các hàm sơ khai trống hook_NAME
với các nhận xét tài liệu .
Bạn cũng có thể tạo hook, sử dụng hook_trigger_info, bạn có thể tạo hook mới và trong mô-đun của bạn, bạn cần triển khai nó. Ví dụ, giả sử bạn muốn tạo một kho lưu trữ các nút và đặt các nút cũ vào đó. Bạn cũng muốn kích hoạt một hook khi hoạt động lưu trữ được thực hiện. nó sẽ là một cái gì đó như thế này
function hook_trigger_info() {
return array(
'node' => array(
'archive_nodes' => array(
'label' => t('Archive old nodes'),
)
)
);
}
Sau khi xác định hook, mô-đun của bạn chịu trách nhiệm triển khai hook và các hành động bằng cách sử dụng module_invoke () hoặc module_invoke_all () .
Bạn có thể kích hoạt trigger
mô-đun để xem hook mới này trong tab nút.