Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

Uso de hook_alter_form()

Estas en el tema de Uso de hook_alter_form() en el foro de Drupal en Foros del Web. Necesito cambiar un field de un form para establecerlo en READONLY, creo que se mas o menos el codigo, necesario, el problema es, que no ...
  #1 (permalink)  
Antiguo 29/10/2010, 04:02
 
Fecha de Ingreso: octubre-2010
Ubicación: Sevilla
Mensajes: 11
Antigüedad: 14 años, 1 mes
Puntos: 0
Uso de hook_alter_form()

Necesito cambiar un field de un form para establecerlo en READONLY, creo que se mas o menos el codigo, necesario, el problema es, que no se donde tengo que insertar ese codigo. En que archivo viene predifinido esta funcion? o debo crear un archivo nuevo para este caso? Gracias.
  #2 (permalink)  
Antiguo 29/10/2010, 09:20
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: Uso de hook_alter_form()

En tu template.php:

Código PHP:
Ver original
  1. function TUTHEME_theme() {
  2.     return array(
  3.        
  4.         'tu_form_id' => array(
  5.                 'arguments' => array('form' => NULL),
  6.         ),
  7.     );
  8. }
  9.  
  10.  
  11. function TUTHEME_tu_form_id($form) {
  12. $output = '';
  13. $form['namefield']['#attributes'] =  array('readonly'=>'readonly');
  14. $output .= drupal_render($form);
  15. return $output;
  16. }

namefield es el name del campo, el form_id es el id del formulario con guion bajo.
Normalmente te hubiera mandado a leer los manuales, pero entiendo que esto es bastante complejo de entender al principio, y la documentación oficial no es para recien iniciados.

Igual una leida a los manuales no te vendria nada mal. Ya que es lo básico que tendras que aprender si quieres trabajar con Drupal. Trabajar con formularios.
http://api.drupal.org/api/drupal/dev...ference.html/6
__________________
Drupal Argentina

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:16.