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

enviar parámetros que se reciben con $_get

Estas en el tema de enviar parámetros que se reciben con $_get en el foro de Drupal en Foros del Web. Buenas noches, Tengo un problemilla con la recuperacion de datos en la funcion de validar. Quiero recuperar unos parámetros que se reciben desde una url ...
  #1 (permalink)  
Antiguo 19/03/2012, 16:32
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
enviar parámetros que se reciben con $_get

Buenas noches,

Tengo un problemilla con la recuperacion de datos en la funcion de validar. Quiero recuperar unos parámetros que se reciben desde una url y se recuperan con $_get['campo'].Os explico los pasos

1- Se define un enlace que se le paso campos como parámetro:
<a href="./redireccion?directorio='.$directorio.'">
2- Se define las siguientes funciones:
theme_Mifuncion_page()
theme_Mifuncion_upload(): defino el formulario y aqui recupero el campo enviado desde el enlace gracias a '$_get['directorio']'.

theme_Mifuncion_upload_validate($form, &$form_state): aqui valido todos los campos y cuando da error llamo a la funcion form_set_error, esa funcion vuelve al formulario anterior con el mensaje de error definido.

Mi problema es que cuando vuelvo al formulario desaparecen los valores de los campos que se reciben antes con $_get ¿como hago para reenviar desde el validate el valor de esos campos? He buscado la funcion form_set_error para ver si tenia alguna opcion para poder pasar, como el enlace, los parámetros pero no se puede hacer.

¿Alguien puede ayudarme?


Muchas gracias
  #2 (permalink)  
Antiguo 10/04/2012, 08:30
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
Respuesta: recuperar los datos de formulario cuando hay error en validacion

Sigo sin encontrar la solucion de mi problema, a lo mejor no me he explicado bien en el anterior mensaje.

Tengo un formulario (theme_Mifuncion_upload)que cuando relleno los datos se validan (theme_Mifuncion_upload_validate) y cuando hay error sale el mensaje indicado en form_set_error (definido dentro del validate)y por debajo el formulario sin mantener los valores insertados :S.

¿como puedo validar el formulario mostrando el campo y el mensaje de error sin perder el valor introducido?


Muchas gracias
  #3 (permalink)  
Antiguo 10/04/2012, 08:40
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: enviar parámetros que se reciben con $_get

Deberias poner como declaras el formulario y como definis cada campo, osea poner codigo. Ya que Drupal por defecto vuelve a poner el valor que habia antes, y no borra nada.
  #4 (permalink)  
Antiguo 10/04/2012, 08:57
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
Respuesta: enviar parámetros que se reciben con $_get

Aqui esta el código:


function theme_page(){

return drupal_get_form('theme_upload');
}

function theme_upload(){
$form['#attributes']['enctype'] = 'multipart/form-data';

$form['texto'] = array(
'#type' => 'file',
'#title' => 'Texto',
);
$form['campo'] = array(
'#type' => 'textfield',
'#default_value' => $nombreTest,
'#title' => 'Campo'
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'submit'
);

return $form;

}
function theme_upload_validate($form, &$form_state) {

$texto=$form_state['values']['texto'];

if($form_state['clicked_button']['#value'] == $form_state['values']['submit']) {
if($texto == null && $texto == ''){
form_set_error('Texto', t('El campo texto es obligatorio'));
}
}

function theme_upload_submit(&$form, &$form_state){

if($form_state['clicked_button']['#value'] == $form_state['values']['submit']){

$texto=$form_state['values']['texto'];
//-----------------LOGICA-----------------------

}
}
  #5 (permalink)  
Antiguo 10/04/2012, 09:55
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: enviar parámetros que se reciben con $_get

Creo que mencione cuando cargas el formulario los valores que recuperas que no sea por medio de los campos del formulario se pierden... si recibes un parametro por get lo procesas y vuelve a cargar el formulario este valor se pierde(A menos que lo tengas en un campo del form y retorne un error), lo podrias guardar en sessiones.
__________________
Drupal Argentina
  #6 (permalink)  
Antiguo 10/04/2012, 15:36
 
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
Respuesta: enviar parámetros que se reciben con $_get

NUCKLEAR no me he enterado de lo que me has escrito :S.
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 23:02.