Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Desarrollando Módulos
Hooks o callbacks
Son sufijos de funciones en PHP que nos
permiten interactuar con el núcleo de
Drupal, se disparan cada vez que un
modulo se requiere en el bootstrap. Son
eventos que están a la espera de ser
ejecutados.
Creando un Modulo
Estructura de un modulo: (Estructura del
folder)
1. nombre_modulo
1.1 nombre_modulo.info (Información)
1.2 nombre_modulo.module (Codigo PHP)
dependencies[] = name_folder_module
; Additional Information
version = "7.x-1.0.0-dev"
project = "the project"
datestamp = "1303820076 "
Estructura básica del archivo .module
<?php
/**
* @file
* Description of file
*
* Complete Description of file
*/
/**
* Implements hook_something()
*/
function nombre_module_something() {
//code
}
Sistema de menús
Define los menús de navegación y rutas de
peticiones a paginas basándose en URL
a/b/c
a/b/c/d
padre/hijo
Hook_menu()
Este hook nos permite crear rutas (URL) para
acceder a funciones de nuestro
archivo .module
function nombre_modulo_menu() {
$items = array();
//Implementacion del menú ítem PDO
return $items;
}
Menú Ítem PDO estático
$items['ruta/que/deseamos'] = array(
'title' => 'Titulo de enlace',
'description' => 'Descripcion del enlace',
'page callback' => 'nombre de funcion',
'access arguments' => array('permiso'),
);
Los atributos que maneja un menú ítem PDO
dependencies[] = user
; Additional Information
version = "7.x-1.0.0-dev"
project = "curso drupal 7 m1"
datestamp = "1303820076"
hola_mundo.module parte 1
<?php
/**
* @file
* Hola Mundo
*
* Esto contiene la caracteristicas basicas del hola mundo
*/
/**
* Implements hook_menu()
*/
function hola_mundo_menu() {
$items = array();
//Implementacion del menú ítem PDO
$items['hola/mundo'] = array(
'title' => 'Hola Mundo',
'description' => 'Muestra el Hola mundo',
'page callback' => 'hola_mundo_decirHola',
'access arguments' => array('hola_mundo permiso'),
);
return $items;
}
hola_mundo.module parte 2
/**
* Implements hook_permission()
*/
function hola_mundo_permission() {
return array(
'hola_mundo permiso' => array(
'title' => t('Acceso a hola mundo'),
'description' => t('Permite el acceso a hola mundo.'),
),
);
}
/**
* Funcion que muestra el Hola mundo
*/
function hola_mundo_decirHola() {
return '<strong>Hola Mundo</strong>';
}
Usando wildcard en el modulo
hola_mundo
$items['hola/mundo/%'] = array(
'title' => 'Hola Mundo',
'description' => 'Muestra el Hola mundo',
'page callback' => 'hola_mundo_decir',
'page arguments' => array(2),
'access arguments' => array('hola_mundo permiso'),
);