it-swarm-vi.com

Làm thế nào để tạo ra một cái móc?

Làm cách nào tôi có thể tạo hook của riêng mình (tương tự như cái Drupal core tạo) cho các mô đun khác Drupal để sử dụng?

17
markdorison

Bạn không thực sự tạo ra móc. Bạn sử dụng các hàm trợ giúp, chẳng hạn như module_invoke_all() , module_invoke() hoặc drupal_alter() để gọi tất cả các chức năng phù hợ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 móc hoạt động, cách tốt nhất là ghi lại chúng trong MODULE.api.php bằng cách tạo các cuống trống hook_NAME chức năng với nhận xét tài liệ .

20
Pierre Buyle

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 mô đun trigger để xem hook mới này trong tab nút.

0
M a m a D