logo

Paleta de lienzo: ¡Hazlo colorido!🎨

Palette - Constructor visual de páginas, no se requiere título en diseño.

Demo en vivo Descargar Palette

Scroll

Creación de un módulo en Drupal, inicio rápido

12/05/2025, by Ivan

Comencemos con api.drupal.org, abre la página del hook hook_node_presave(), que se ejecuta antes de guardar un nodo.

http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7

Los hooks nos permiten insertar nuestro código en el flujo habitual de Drupal, agregar validaciones, campos de datos, elementos de formularios, etc.

Agregamos nuestro módulo en la carpeta sites/all/modules:

sites/all/modules/custom/

sites/all/modules/custom/custom.info

sites/all/modules/custom/custom.module

En el archivo custom.info escribimos:

name = Custom
description = Custom
core = 7.x

En el archivo custom.module haremos una validación para asegurar que el campo de contenido no esté vacío. Si el campo está vacío, mostraremos un error (aunque también podríamos haber marcado el campo como obligatorio desde la administración de Drupal, pero...):

custom.module

<?php

function custom_node_validate($node){
  if(empty($node->body['und'][0]['value'])){
    form_set_error('node-body', 'El cuerpo está vacío'); // Mostramos error y evitamos que se guarde el nodo
  }
}

En nuestro caso, cuando el sitio solo tiene un idioma, y este es und (undefined, indefinido), verificamos el primer textarea del campo body (ya que se puede configurar una cantidad ilimitada de campos textarea).

Usa el módulo Devel y su función dsm() para imprimir en pantalla el contenido de un objeto o array:

<?php

function custom_node_view($node){
  dsm($node);
}