[RESUELTO] Preinscripcion - mostrar campos por pantalla

Buen día

Trabajo en la versión 2.9.2

Chicos quiero agregar un combo al formulario. Es orient_voc_rec en la pestaña Estudios.
Lo que hice:

  1. seguí los pasos de http://portalguarani.siu.edu.ar/Portal/wiki/G2/Preinscripcion/2.9.2/DocTecnica/Personalizaciones y tengo mi carpeta de personalizaciones

  2. en mensajes.es.php - modifique y agregue valores, por ej.
    ‘orient_voc_rec’ => ‘Tipo de Establecimiento y/o Colegio’,
    ‘orient_voc_rec_6’ => ‘ESTABLEC. ESTATAL NACIONAL TRANSFERIDO’,
    ‘orient_voc_rec_7’ => ‘ESTABLEC. ESTATAL PROVINCIAL O MUNICIPAL’,

  3. En default.twig - agregue el campo


    {{ form.control_group(‘orient_voc_rec’, ‘span6’) }}

  4. en form_datos_estudios.php - agregue
    $this->set_campo(‘orient_voc_rec’, array(
    form::label => ‘orient_voc_rec’,
    form::filtro => validador::TIPO_TEXTO,
    form::obligatorio => false,
    form::elemento => array(‘tipo’ => ‘select’),
    form::validar_select => true,
    form::multi_options => opciones::get_orientaciones_vocacionales(),
    form::valor_default => ‘’
    ));

  5. en opciones.php que está en siu/modelo figura la función
    static function get_orientaciones_vocacionales()
    {
    return array(self::NO_SELECCION => kernel::traductor()->trans(‘descr_no_seleccion’),
    ‘1’ => kernel::traductor()->trans(‘orient_voc_rec_1’),
    ‘2’ => kernel::traductor()->trans(‘orient_voc_rec_2’),
    ‘3’ => kernel::traductor()->trans(‘orient_voc_rec_3’),
    ‘4’ => kernel::traductor()->trans(‘orient_voc_rec_4’),
    ‘5’ => kernel::traductor()->trans(‘orient_voc_rec_5’),);
    }
    esta función la modifico (agrego los nuevo valores)
    y así logró mostrar el combo por pantalla

Ahora, como lo correcto es crear una personalización
Al archivo opciones.php que esta ubicado en siu/modelo, lo copie en mi carpeta, cambie el namespace y nada!- no muestra los cambios puestos, sigue mostrando las opciones del archivo opciones.php ubicado en siu/modelo
¿qué hago mal?

también puse la función function get_orientaciones_vocacionales() en el manejador_datos.php y nada!

Espero su ayuda.
Gracias!

Hola Melina,

Fijate si lo desarrollado en este post te sirve de ayuda.

Cualquier cosa avisanos!

Saludos,
Fernando

Hola Fernando como estas? gracias por la ayuda.

Seguí el post pero la pantalla queda en blanco. Te digo lo que hice

  1. El archivo opciones.php lo copie en mi carpeta de personalizacion (pers/fbqf/modelo)
    Cambie el namespace fbqf\modelo;

  2. En el archivo form_datos_estudios.php - agregue:
    use fbqf\modelo\opciones_fbqf;
    use siu\modelo\opciones;

    form::multi_options => opciones_fbqf::get_orientaciones_vocacionales(),

  3. El archivo manejador_datos.php no usa el archivo opciones.php (ni el que esta en siu/ ni el que viene por default en pers/)

¿qué me esta faltando?

Gracias!

Hola Melina,

Para poder ver bien qué está pasando aquí:

Te sugeriría lo siguiente:

[ol]- Verificar que en php.ini tengas display_errors = On y error_reporting = E_ALL para que se muestren en pantalla posibles errores de sintaxis. De no estar así (sobre todo el primero), ajustalo y reiniciá Apache.

  • Revisar los logs en la carpeta …/instalacion/logs/<acc_id> (seguramente alumno_xx) [/ol]

Fijate si encontrás algún mensaje de error o traza que nos pueda servir para debuggear el problema.

Saludos,
Fernando

Hola chicos ya lo logré

Les paso todo detallado (cualquier observación es bienvenida…)

  1. en pers/fbqf/modelo → opciones_fbqf.php
    namespace fbqf\modelo;
    use siu\modelo\consultas;
    use kernel\kernel;
    use siu\modelo\opciones as opciones_base;
    //class opciones
    class opciones_fbqf extends opciones_base
    {

    static function get_orientaciones_vocacionales() --! SOLO ESTA FUNCION NECESITABA MODIFICAR! ASÍ QUE SOLO LA TRAJE A ELLA
    {
    return array(self::NO_SELECCION => kernel::traductor()->trans(‘descr_no_seleccion’),
    ‘6’ => kernel::traductor()->trans(‘orient_voc_rec_6’),

    `}
    }

  2. en pers/fbqf/modelo → manejador_datos.php
    namespace fbqf\modelo;
    use fbqf\modelo\opciones_fbqf;
    use siu\modelo\opciones;

    –! TRAJE TODA LA FUNCION get_campo($campo){

    –! PERO SOLO MODIQUE ESTO
    case ‘orient_voc_rec’ :
    $opciones = opciones_fbqf::get_orientaciones_vocacionales();
    $salida = (!empty($opciones[$salida])) ? $opciones[$salida] : ‘–’;
    break;

  3. en pers/fbqf/operaciones/censo/datos_estudios → form_datos_estudios.php
    namespace fbqf\operaciones\censo\datos_estudios;
    use fbqf\modelo\opciones_fbqf;
    use siu\modelo\opciones;


    $this->set_campo(‘orient_voc_rec’, array( --! SOLO ESTE MODIFIQUE
    form::label => ‘orient_voc_rec’,
    form::filtro => validador::TIPO_TEXTO,
    form::obligatorio => false,
    form::elemento => array(‘tipo’ => ‘select’),
    form::validar_select => true,
    form::multi_options => opciones_fbqf::get_orientaciones_vocacionales(),
    form::valor_default => ‘’
    ));

Gracias!

Bárbaro! Gracias por compartir la solución.
Saludos,
Fernando