Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/05/2011, 16:10
Avatar de NUCKLEAR
NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: Problemas con la creacion de formulario en drupal 6.2

Por lo poco que entiendo de tu formulario es que quiere enviar un archivo, si es asi, mira la forma en como se hace. (En el ejemplo que te pase hay dos errores, que aca abajo estan corregidos)


Código PHP:
Ver original
  1. function test_menu() {
  2.  
  3. $items['uploadfile'] = array(
  4.  
  5.  'title' => 'Form upload test',
  6.     'page callback' => 'miform_page', //llamas a la pagina
  7.     'page arguments' => '',
  8.     'access callback' => TRUE, //permisos
  9.     'type' => MENU_NORMAL_ITEM, //se muestra como un item del menu
  10. );
  11.  
  12.  return $items;
  13.  
  14.  }
  15.  
  16. // llamamos a la pagina donde se mostrara en este caso el formulario, pero puede ser cualquier otra cosa, ejemplo texto, consultas, etc etc.
  17.  
  18.  
  19. function miform_page(){
  20.  
  21.     return drupal_get_form('_miform_upload');
  22.    
  23.     }
  24.  
  25. function _miform_upload(){
  26.  
  27.   $form['#attributes']['enctype'] = 'multipart/form-data';
  28.  
  29.   $form['nombre'] = array(
  30.   '#type' => 'textfield',
  31.   '#title' => 'Nombre del archivo'
  32.   );
  33.  
  34.  
  35.  $form['mifile'] = array(
  36.   '#type' => 'file',
  37.   '#title' => 'El archivo a subir'
  38.   );
  39.    
  40.  
  41.   $form['submit'] = array(
  42.   '#type' => 'submit',
  43.   '#value' => 'Sumbit'
  44.   );
  45.   return $form;
  46.    
  47.     }
  48.    
  49. function _miform_upload_validate(){
  50.  
  51. // tus reglas de validacion
  52.     ...............................
  53.     }
  54.    
  55.  
  56. function _miform_upload_submit(&$form, &$form_state){
  57.  
  58.  $validators = array(); //reglas de validacion para un upload
  59.  
  60. $destino = '/var/htdocs/misarchivos'; //esta es la ruta absoluta donde se guardara(debe tener permisos de escritura)
  61.  
  62.  $file = file_save_upload('mifile', $validators, $destino);
  63.  
  64.   if($file){
  65.      
  66.       drupal_set_message('Subido con exito!');
  67.      
  68.       }
  69.    
  70. else{
  71. .............
  72. }
  73.     }

Obviamente debes borrar la cache cada vez que haces cambios en el hook menu.
Saludos.
__________________
Drupal Argentina

Última edición por NUCKLEAR; 15/05/2011 a las 16:16