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

[SOLUCIONADO] Guardar en nodo campo de imagen con múltiples valores

Estas en el tema de Guardar en nodo campo de imagen con múltiples valores en el foro de Drupal en Foros del Web. Hola, He creado un formulario en el que inserto un nodo, ese nodo es de un tipo de contenido que contiene una imagen, en el ...
  #1 (permalink)  
Antiguo 23/05/2014, 04:34
 
Fecha de Ingreso: octubre-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 1
Guardar en nodo campo de imagen con múltiples valores

Hola,

He creado un formulario en el que inserto un nodo, ese nodo es de un tipo de contenido que contiene una imagen, en el form ahora tengo:

$form['image1'] = array(
'#required' => '0',
'#size' => '100',
'#weight' => '0',
'#type' => 'managed_file',
'#title' => t('imagen1'),
'#upload_validators' => array(
'file_validate_extensions' => array('gif png jpg jpeg'),
'file_validate_size' => array('MAX_FILE_SIZE' * 1200 * 300),
), '#upload_location' => 'public://',
);

y en el submit:


$file = file_load($form_state['values']['image1']);
$node->field_image[$node->language][0]= (array) $file;

Esto me funciona correctamente, cuando guardo el nodo la imagen se guarda.

Lo que quiero es que el campo imagen tenga hasta 5 imágenes máximo, así que en la configuración del campo pongo número de valores máximo 5.
Ahora la duda es cómo guardar las imágenes en el nodo.
He probado creando en el form 5 campos de imagen y luego en el submit hacer:

$file1 = file_load($form_state['values']['image1']);
$node->field_image[$node->language][0][0] = (array) $file;

$file2 = file_load($form_state['values']['image2']);
$node->field_image[$node->language][0][1] = (array) $file;

...

Sin embargo, no me guarda nada. ¿alguna idea de cómo podría hacerlo?

Gracias!

Última edición por hodeia; 23/05/2014 a las 06:45
  #2 (permalink)  
Antiguo 23/05/2014, 07:57
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 15 años, 1 mes
Puntos: 265
Respuesta: Guardar en nodo campo de imagen con múltiples valores

Has probado poner esto?

$node->field_image[$node->language][0]= (array) $file;
$node->field_image[$node->language][1]= (array) $file;
$node->field_image[$node->language][2]= (array) $file;

No lo he testeado pero quizás te de la solución.

Saludos.
  #3 (permalink)  
Antiguo 24/05/2014, 06:11
 
Fecha de Ingreso: octubre-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 1
Respuesta: Guardar en nodo campo de imagen con múltiples valores

Gracias!
Sí es como dices... me parecía que ya lo había probado y no funcionó, pero lo he probado ahora y sí funciona.
Muchas gracias!

Etiquetas: drupal7, form, node
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 10:39.