it-swarm.it

Come creare un gancio?

Come posso creare il mio hook (simile a quelli Drupal core create) per altri Drupal da utilizzare?

17
markdorison

In realtà non si creano ganci. Si utilizzano funzioni di supporto come module_invoke_all() , module_invoke() o drupal_alter() per richiamare tutte le funzioni corrispondenti al modello di nome previsto. Le funzioni invocate si trovano di solito con module_implements() .

Anche se non è necessario che gli hook funzionino, la procedura migliore è documentarli in MODULE.api.php creando stub vuoti hook_NAME funziona con commenti sulla documentazione .

20
Pierre Buyle

Puoi anche creare un hook, usando hook_trigger_info puoi creare un nuovo hook e nel tuo modulo devi implementarlo. Ad esempio, supponiamo di voler creare un archivio di nodi e inserirvi vecchi nodi. Si desidera inoltre attivare un hook al termine dell'operazione di archiviazione. sarà qualcosa del genere

function hook_trigger_info() {
    return array(
            'node' => array(
                    'archive_nodes' => array(
                        'label' => t('Archive old nodes'),
                    )
            )
    );
} 

Dopo aver definito l'hook, il modulo è responsabile dell'implementazione dell'hook e delle azioni utilizzando module_invoke () o module_invoke_all () .

Puoi abilitare il modulo trigger per vedere questo nuovo hook nella scheda del nodo.

0
M a m a D