Entendiendo los hooks, drupal en estado puro
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
$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