Entendiendo los hooks, drupal en estado puro

  • Posted on: 26 August 2015
  • By: santy

Los hooks, conectores o retrollamadas es la arma principal de Drupal, o en lo que se basa su sistema modular.

Y es así porque Drupal examina todos los módulos habilitados para comprobar si alguno tiene su conector:

Ejemplo Drupal carga un nodo de nuestra página web, para ello comprueba los módulos habilitados que contengan la función hook_node_load(), para ello debemos cambiar la palabra hook por el nombre del módulo.

Pero veamos un ejemplo más extenso de los conectores, ejemplo hook_menu()

function notas_menu() { //Creamos la función del hook_menú, el nombre de la función nombredenuestromódulo_menu
$items['ejemplo/notas'] = array(
'title' => 'Menu ejemplo',
'description' => 'Un simple menú',
'page callback' => '_notas_basic_instructions', //llamamos a la función
'page arguments' => array(t('Ejemplo de texto'))),
'access callback' => TRUE,
'expanded' => TRUE,
);
return $items; }

function _notas_basic_instructions($content = NULL) { //creamos la funcion callbak
$base_content = t(
'Esto es un ejemplo de texto!');
return $base_content $content;
}

El ejemplo nos muestra el ejemplo de creación de menú en la url de de la web ejemplo/web, lo que se muestra en la página es el texto del componente del array 'page arguments', que es parte de $content llamado desde el componente del array 'page callback', llamando a la función _notas_basic_instructions

ampliando un poquito la explicación, si por ejemplo, queremos que el menú en lugar de ser de un bloque sin más, el menú podría der de administración añadiendo los siguientes componentes:

'page callback' => 'system_admin_menu_block_page',
'access arguments' => array('administer site configuration'),
'file' => 'system.admin.inc',
'file path' => drupal_get_path('module', 'system'),

No es complicado de realizar, pero hay que entender muy bien los page arguments y los page callback para su comprensión

Añadir nuevo comentario

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.
CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.