En este video vamos a ver como instalar Drupal 7 en entorno local bajo Windows o Mac OS. Para ello vamos a utilizar Acquia Dev Desktop que nos permitirá tener todos los componentes necesarios (Apache, Mysql, PHP, phpMyAdmin y Drupal) sin la necesidad de descargarlos por separado.
Web en Stock
Drupal
Instalar Drupal 7 en local bajo Windows o Mac OS con Acquia Dev Desktop
Toda América Latina celebra el mayor encuentro Drupal del año 2012!

Por fin podemos anunciar oficialmente el lanzamiento del mayor evento Drupal del año 2012: "Drupal Summit Latino – Guadalajara 2012".
Actualizar el cache de Drupal cuando hay un nuevo comentario
Si hemos dado los derechos a los usuarios anónimos de enviar comentarios sin nuestra aprobación y que hemos activado el cache de Drupal con una duración de vida de tres horas; que pasa con los comentarios durante este lapso de tres horas en el cual el cache no se actualiza? Los usuarios anónimos no podrán ver los nuevos comentarios, aún si ellos mismos son los autores!
Como podemos entonces actualizar automáticamente el cache cuando un nuevo comentario ha sido enviado?
Para ello, vamos a programar un pequeño módulo que implementará une función de type hook_comment() como sigue:
<?php
function modulename_comment($a1, $op) {
switch ($op) {
case 'insert':
case 'update':
$nid = $a1['nid'];
break;
case 'unpublish':
case 'delete':
$nid = $a1->nid;
break;
}
if ($nid) {
// recuperar la URL abosulta del nodo
$url = url('node/'. $nid, array('absolute' => TRUE));
// Eliminar el registro en el cache para esta URL
cache_clear_all($url, 'cache_page');
}
}
?>Conectarse a múltiples base de datos desde Drupal
Durante la elaboración de un proyecto Drupal para el cual tenía que integrar datos que se encontraban en otro sistema (sin Drupal pero con Mysql) tenía dos soluciones: importar estos datos en el sistema Drupal, en nodos con FeedApi y Feed Element Mapper, o integrarlos directamente el proceso de Drupal para crear las páginas, los bloques o las vistas pero sin generar nuevas tablas en mi base de datos Drupal.
Si la primera solución parece la más simple y la más estándar, tiene sin embargo varios inconvenientes. Primero debemos duplicar los datos entre el sistema externo y el sistema Drupal, lo que puede provocar problemas de inconsistencia cuando los datos se modifican en uno de los dos sistemas. Segundo, si el volumen de producción de datos en el sistema externo es importante, en mi caso se trata de más de 1500 registros al día, debemos enfrentar un problema de escalabilidad en Drupal, lo que implica una configuración más avanzada y por lo tanto un costo adicional.
Decidí entonces tomar la segunda solución, integrar estos datos en el proceso de creación de página pero sin importarlos y sin crear tablas adicionales. Por ello necesitaba acceder a la base de datos del sistema externo desde Drupal.
En realidad acceder a una base de datos externa desde Drupal es bastante simple, basta definir una nueva conexión hacía dicha base de datos y cambiar de conexión cuando sea necesario.
Definir nuevas conexiones
Por defecto, Drupal utiliza la base de datos definida en el archivo default/setting.php gracias a la variable global $db_url (), como sigue:
<?php
$db_url = 'mysql://user:passw@localhost/drupal _bd';
?>Añadir un campo en el formulario de contacto de Drupal
Nuestros clientes tienen siempre necesidades muy precisas y es normal que las atendemos, al final vivimos de nuestra pasión gracias a ellos no? La pasada semana, un cliente deseaba que el formulario de contacto tenga un campo adicional: el nombre de la empresa del visitante.
Tenía dos soluciones: utilizar el módulo webform o programar un pequeño módulo para añadir el campo requerido.
Webform
A primera vista, webform parece ser la solución más sencilla pero no nos olvidaremos que este módulo (más de 2500 líneas de código) guarda todos los datos que envía cada visitante en nodos de la base de datos. Por ello, Webform crea cinco tablas en nuestra BD:
Webform - webform_component - webform_roles - webform_submissions - webform_submitted_data
2500 líneas de código y cinco tablas para añadir un solo campo? Vale la pena? Aún en caso de requerir registrar automáticamente los datos de los visitantes que utilizan el formulario, me parece excesivo y más aún para un sitio de alto tráfico.
Programar un módulo
Nos queda sin embargo una segunda solución bastante simple, ligera y rápida: programar un pequeño módulo (30 líneas y sin uso de BD) que añade este campo y lo muestra en el cuerpo del mail que vamos a recibir. Llamaremos este módulo: addcontact para nuestro ejemplo.



Comentarios recientes
hace 3 horas 11 segs
hace 3 horas 35 segs
hace 21 horas 17 mins
hace 3 días 8 horas
hace 3 días 8 horas
hace 4 días 7 horas
hace 4 días 7 horas
hace 5 días 7 horas
hace 5 días 7 horas
hace 1 semana 5 días