Hoy me he peleado con un formulario que tenía que generar "al vuelo" y me he encontrado con dos variantes de este error:
"warning: implode() [function.implode]: Bad arguments. in /includes/form.inc on line 622."
"warning: implode() [function.implode]: Invalid arguments. in /includes/form.inc on line 622."
El problema parece residir en que, cuando generas el formulario que tiene campos de tipo select o checkbox con drupal_render , no inserta todas las propiedades que requiere el modulo form y produce uno de los errores que podéis ver más arriba.
Buscando en drupal.org, he visto una solución a este problema, insertandole estas propiedades, en este caso al select, con la función _element_info .
$form['select']+= _element_info('select');
Donde $form['select'] es el elemento select del formulario que queremos completar.
Es importante que se le añada esta sentencia antes de establecer las propiedades específicas de nuestro form, ya que sino, sobreescribirá varias de ellas y perderemos información.
De todas formas, la forma recomendable de generar un formulario en drupal, que nos evita este tipo de problemas es usar drupal_get_form() en la llamada a la función que genera el formulario, en lugar de drupal_render en la propia función.
Gracias pancho por la aportación, lo cierto es que agregando esa propiedad se resuelve en ocasiones, pero yo he visto un par de casos en los que he tenido que usar la solución del post.
De todas formas, la forma correcta de "invocar" un formulario es a través de drupal_get_form y de esta manera evitas este tipo de incidencias.
Saludos
Enviar un comentario nuevo
relacionadas
nube de tags
qué se comenta
- Seguramente con por pedro (3julio2009)
- esto es lo que iba entre las por michelangelo (3julio2009)
- buenas!!! o no por michelangelo (3julio2009)
- Creo que se te ha ido la mano por pedro (2julio2009)
- Sería bueno que agregaras por makuaka (2julio2009)
- hi por makuaka (2julio2009)
- Hola como estan, acabo de por 4jotas (2julio2009)
desde twitter
de Poker
vienen de fuera
- desde Próxima Drupalada el 10 de Junio | Blog de Carlos Rincón (3junio2009)
- desde Nueva etapa en Neurotic | Jordi Bufí (1junio2009)
- desde Sant Jordi, día del libro en Cataluña, listado completo de a (22abril2009)
- desde Conclusiones de la segunda Drupalada | Blog de Carlos Rincón (2abril2009)
- desde Atenea tech - Blog » Blog Archive » Segu (1abril2009)





agregando:
'#parents' => array()
se soluciona el problema, es la propiedad faltante que pide