it-swarm-es.com

¿Cómo crear un gancho?

¿Cómo puedo crear mi propio gancho (similar a los Drupal core crea) para que otros módulos Drupal) lo utilicen?

17
markdorison

En realidad no creas ganchos. Utiliza funciones auxiliares como module_invoke_all() , module_invoke() o drupal_alter() para invocar todas las funciones que coinciden con el patrón de nombre esperado. Las funciones invocadas generalmente se encuentran con module_implements() .

Incluso si no es necesario que los ganchos funcionen, la mejor práctica es documentarlos en MODULE.api.php creando trozos vacíos hook_NAME funciona con comentarios de documentación .

20
Pierre Buyle

También puede crear hook, usando hook_trigger_info puede crear un nuevo hook, y en su módulo necesita implementarlo. Como ejemplo, suponga que desea crear un archivo de nodos y poner nodos antiguos en él. También desea desencadenar un enlace cuando finalice la operación de archivo. va a ser algo como esto

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

Después de definir el enlace, su módulo es responsable de implementar el enlace y las acciones usando module_invoke () o module_invoke_all () .

Puede habilitar el módulo trigger para ver este nuevo enlace bajo la pestaña del nodo.

0
M a m a D