Agregar campos en un formulario en G3W 2.8

Hola, estoy personalizando la operación de Mis datos personales en G3W 2.8.
Necesito agregar campos en el formulario.
Lo que hice fue:

  • Modificar la clase modelo\datos\db\datos_censales.php para que devuelva el campo extra en la consulta sql
  • Agregue en principales.twig las siguientes lineas:
    {{this.data.form.AUX1_barrio_per_lec.renderLabel|raw}}
    {{this.data.form.AUX1_barrio_per_lec.renderViewHelper|raw}}

Al ejecutar la operación me sale el siguiente error y no se visualiza el formulario:

clase: Twig_Error_Runtime mensaje: An exception has been thrown during the rendering of a template ("Method AUX1_barrio_per_lec does not exist") in "formulario/default.twig" at line 13. traza:

Alguien me podría indicar que me falta para que la operación funcione.

Saludos.

Marcela Rodas

Hola Marcela,

Cuando puedas hace un commit de los cambios en colab.siu.edu.ar así puedo ver que pasa.

saludos

Bruno

Hola Bruno,

Ya hice el commit en el sitio del colab para que puedas ver mi código.

Muchas Gracias.

Marcela

Hola Marcela,

Tenés que extender /siu/conf/definicion_datos_censales.php y agregarle el campo

‘AUX1_BARRIO_PER_LEC’ => array( self::filtro => validador::TIPO_TEXTO,
self::obligatorio => TRUE,
self::clase_css => ‘editable’,
self::elemento => array(‘nombre’ => ‘text’),
self::sub_form => ‘principales’,

								),

Saludos

Hola Bruno, si extendí la clase definicion_datos_censales y le agregué la definición del campo… pero sigue sin funcionar, no muestra el formulario y sigue dando el mismo error que te comenté antes.

Saludos.

Marcela

si el campo lo agregas sobre el definicion_datos_censales original funciona?

Si lo agrego en definicion_datos_censales.php en el original (el que esta en la carpeta del siu y no en el de personalizaciones) funciona bien.

Que podrá ser?

Marcela

Hola Marela,

Encontré el problema. estaba con el mismo problema me tomaba la clase definicion_datos_censales.php original y no la personalizada. el problema era que la clase form_principales personalizada debe extender form_comun (personalizado) y no al form_principales original

class form_principales extends form_comun

La clase form principales original extiende de form_comun original y ahí estaba el problema.

Saludos

Hola Bruno, al parecer se solucionó el problema, pero ahora parece haber un error en una consulta sql…

SELECT mug_localidades.nombre_abreviado || ', ' || mug_provincias.nombre || ', ' || mug_paises.nombre as texto FROM mug_localidades, mug_provincias, mug_paises, mug_dptos_partidos WHERE mug_localidades.dpto_partido = mug_dptos_partidos.dpto_partido AND mug_provincias.provincia = mug_dptos_partidos.provincia AND mug_provincias.pais = mug_paises.pais AND mug_localidades.localidad = 'p'

Que podra ser?

Muchas gracias!

Saludos

Marcela

Bruno, solucioné al problema que te comentaba anteriormente…

Extendí la clase form_comun personalizada de la clase form_base y no de form_comun original

abstract class form_comun extends form_base (en personalizacion)

Por ahora funciona todo correctamente.

Muchas gracias por tu ayuda.

Saludos.

Marcela