Eliminar elementos de un formulario en Drupal

En ocasiones necesitamos modificar los elementos que aparecen en un formulario, ya sea para agregar/eliminar items o modificar las validaciones.

Existen varias maneras de llevar a cabo esta tarea. Aqui voy a describir una de ellas y es usando el hook_form_alter.

El hook_form_alter se utiliza dentro de un módulo de drupal. pueden crear su propio módulo siguiendo las siguientes instrucciones:

1. Crear un archivo llamado customsite.info y agregar las siguientes lineas.

name = Custom Site functions
description = Custom functions for this site.
core = 6.x
version = "6.x-1.0"

2. Crear otro archivo llamado customsite.module y agregar estas otras lineas. noten que no se incluye el ?> al final del módulo

<?php
// $Id: customsite.module

/**
* @file
* Custom functions for this site.
*/


/**
* Unset these form elements from the comment_form using hook_form_alter
*/
function customsite_form_comment_form_alter(&$form, &$form_state) {
  unset($form['comment_filter']['format']); // Elimina la opción para cambiar el formato
  unset($form['preview']);                  // Elimina el boton preview
}

Hay que tener en cuenta que si el archivo se llama customsite.module es necesario que la funcion comience con customsite.

form_comment es el nombre del formulario y puede ser obtenido usando el módulo drupal for firebug

Por último aparece form_alter que determina el hook que se va a emplear

Comentarios

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
By submitting this form, you accept the Mollom privacy policy.