Autor Tema: Como lograr un efecto negrita u otra forma en una linea de cuadro  (Leído 101 veces)

0 Usuarios y 1 Visitante están viendo este tema.

olgacisneros

  • Jr. Member
  • **
  • Mensajes: 76
    • Ver Perfil
    • Email
  • Institución: U.N.C. S.P.G.I.
  • Nombre y apellido: Olga Cisneros
  • Teléfono laboral: 0351-4266211
Hola, tengo un cuadro que lista todos los bienes patrimoniales prestados  y quisiera  sobremarcar las filas cuoyos bienes patrimoniales estan vencidos con algún efecto, sea negrita, otro color o titilando.
O sea, quisiera remarcar lineas de un cuadro ante ciertas condiciones.
Si me puede ayudar alguien muchas gracias.

richard

  • Moderador Global
  • *****
  • Mensajes: 2352
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #1 : junio 15, 2017, 03:23:41 pm »
La opcion mas sencilla me parece que es extendiendo la salida html para generar el layout de la fila vos.
De esa manera tenes pleno control para poder fijarle un estilo particular a cada celda de la fila, segun hayas determinado que le corresponda, no te recomiendo que envies codigo HTML como valor de la fila porque despues vas a tener inconvenientes cuando hagas exportaciones a otros formatos.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

olgacisneros

  • Jr. Member
  • **
  • Mensajes: 76
    • Ver Perfil
    • Email
  • Institución: U.N.C. S.P.G.I.
  • Nombre y apellido: Olga Cisneros
  • Teléfono laboral: 0351-4266211
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #2 : junio 16, 2017, 09:49:55 am »
OK. Muchas gracias. Pruebo

olgacisneros

  • Jr. Member
  • **
  • Mensajes: 76
    • Ver Perfil
    • Email
  • Institución: U.N.C. S.P.G.I.
  • Nombre y apellido: Olga Cisneros
  • Teléfono laboral: 0351-4266211
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #3 : septiembre 08, 2017, 02:16:20 pm »

Hola, por favor indiquenme si voy bien.
Extendi el cuadro como me sugirieron y genere la funcion , me quedo asi

<?php
class cuadro_listado extends spb_ei_cuadro
{
        function generar_layout()
        {
        $this->generar_html_ef('numero_patrimonial');
        $this->generar_html_ef('descripcion_bien');
         $this->generar_html_ef('numero');
        }
}
?>

pero no se con que comando generar el efecto o negrita en cada ef
o bien, hacer toda la fila de un color
Gracias

richard

  • Moderador Global
  • *****
  • Mensajes: 2352
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #4 : septiembre 11, 2017, 10:34:41 am »
Hola Olga,
para generar un efecto distinto o cambiar de alguna manera la visualizacion, tenes que redefinir parte del HTML que saca Toba.

Esta bien que redefinas el metodo y hagas las llamadas que venis haciendo.. pero fijate que en la version original de ese metodo hay mucho mas, ese "relleno" es lo que vos deberías ir tocando para lograr lo que deseas.

Otro tema, no se en que version de Toba estas haciendo esto.. pero tene en cuenta que si redefinis el layout para el cuadro en gral, lo vas a estar haciendo tambien para las distintas salidas (pdf, excel, etc) con lo cual si metes codigo html, puede que en alguna exportacion eso no se interprete y se vea como texto en el listado.

Para modificar solo la visualizacion en el browser, te recomiendo que extiendas de toba_ei_cuadro_salida_html (si es que estas en la version 2.4+).

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

Pablo Nacusse

  • Guarani
  • *
  • Mensajes: 27
    • MSN Messenger - pmnacusse@hotmail.com
    • Ver Perfil
    • Email
  • Institución: Facultad de Filosofía y Letras - Universidad Nacional de Tucumán
  • Nombre y apellido: Pablo Marcelo Nacusse
  • Sistema: GUARANI
  • Teléfono laboral: 381-4225379
  • Utilizo algun sistéma del SIU: Sí
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #5 : septiembre 12, 2017, 11:23:46 am »
Hola Richard, tengo el mismo inconveniente que Olga. No logro entender aún cómo extender de toba_ei_cuadro_salida_html, usando la función generar_layout_fila.
Tendrías algún ejemplo como para guiarme?

Saludos

olgacisneros

  • Jr. Member
  • **
  • Mensajes: 76
    • Ver Perfil
    • Email
  • Institución: U.N.C. S.P.G.I.
  • Nombre y apellido: Olga Cisneros
  • Teléfono laboral: 0351-4266211
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #6 : septiembre 12, 2017, 11:57:57 am »
Exactamente eso me pasa .... que bueno Pablo que puedes entenderme ja.
Estuve leyendo y tengo una idea, pero no se como estructurar estos conceptos ... si nos  pudieran ampliar gracias

richard

  • Moderador Global
  • *****
  • Mensajes: 2352
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #7 : septiembre 13, 2017, 12:08:31 pm »
Olga,
Estuve leyendo y tengo una idea, pero no se como estructurar estos conceptos ... si nos  pudieran ampliar gracias
contame que estuviste leyendo hasta ahora asi puedo orientarte mejor, como es que lo harias vos si tuvieras que extender la salida_html nomas?.
Te puedo ayudar a estructurar los conceptos.. pero necesito saber cuales son, para ver si hay alguno que necesite corrección o un enfoque distinto.

Cita de: Pablo Nacusse
Hola Richard, tengo el mismo inconveniente que Olga. No logro entender aún cómo extender de toba_ei_cuadro_salida_html, usando la función generar_layout_fila.
Tendrías algún ejemplo como para guiarme?
Pablo, creo que se estan mezclando dos cosas distintas:

- Como hacer que toba use el codigo que hiciste
- Como redefinir un metodo en una clase que hereda de otra

Para el primer caso te puedo orientar, incluso pasarte el link a la documentacion del metodo que deberias usar... para lo segundo no puedo hacerte un ejemplo.
La gran ventaja es que tenes el codigo fuente a mano, ningun metodo es una caja negra y podes ver exactamente que hace y como deberías modificarlo (a ese u otros metodos) para lograr lo que queres.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

olgacisneros

  • Jr. Member
  • **
  • Mensajes: 76
    • Ver Perfil
    • Email
  • Institución: U.N.C. S.P.G.I.
  • Nombre y apellido: Olga Cisneros
  • Teléfono laboral: 0351-4266211
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #8 : septiembre 13, 2017, 03:29:29 pm »
Hola Ricardo, te comento, y retomando. Tengo un cuadro, con corte de control, en el que figuran los bienes prestados. La idea es que en el cuadro se muestre de manera separada o sobresaltada los bienes que no fueron devueltos y ya pasaron la fecha prevista de devolucion de aquellos que no fueron devueltos pero no estan vencidos en su plazo de devolución. A esto lo solucione con el corte de control.
El tema es, yo quisiera sobresaltar los bienes vencido con algún tipo de efecto especial (nada sofisticado)  como color negrito o rojo a la fila o bien un pintado a toda la fila.
Buscando en toba-referencia, encontre en cuadro corte de control que de manera simple consigue personalizar un poquito la salida visual(ni siquiera me interesa la salida pdf o excel)
Como lo hace el toba-referencia:
extiende el cuadro a un extension_cuadro_xx extended toba_ei_cuadro (Esto definido como extension desde el cuadro en el editor toba)
y utiliza las funciones
 function html_pie_cc_contenido__zona(&$nodo)
    {
        //Preparo una descripcion
        $escapador = toba::escaper();
        $zona = $escapador->escapeHtml($nodo['descripcion']['zona']);
        $locs = count($nodo['filas']);
        $deps = count($nodo['hijos']);
        echo "La Zona <strong>$zona</strong> tiene <strong>$deps</strong>
                departamentos y <strong>$locs</strong> localidades.<br>";
        //Hago unos calculos
        $habitantes = 0;
        foreach ($nodo['filas'] as $fila) {
            $habitantes += $this->datos[$fila]['hab_total'];
        }
        $promedio = $escapador->escapeHtml($habitantes / count($nodo['filas']));
        //$resultado = number_format($promedio, 2, ',', '.');
        echo "El promedio de habitantes por localidad es: <strong>$promedio</strong>.";
    }

Yo trato de hacer lo mismo y solo coloco el echo para probar que lo lee y no me funciona
yo hice ->  extension_cuadro_listado extended spb_ei_cuadro  con la funcion
extension_cuadro_listado.php
funcion  --->       function pdf_pie_cc_cabecera__periodo_prestamo(&$nodo)
                                      {
                                       echo "El promedio de habitantes por localidad es: .";
                                        }
periodo_prestamo es el campo del corte de control

Pablo Nacusse

  • Guarani
  • *
  • Mensajes: 27
    • MSN Messenger - pmnacusse@hotmail.com
    • Ver Perfil
    • Email
  • Institución: Facultad de Filosofía y Letras - Universidad Nacional de Tucumán
  • Nombre y apellido: Pablo Marcelo Nacusse
  • Sistema: GUARANI
  • Teléfono laboral: 381-4225379
  • Utilizo algun sistéma del SIU: Sí
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #9 : septiembre 14, 2017, 09:25:04 am »
Hola Richard, gracias por responder.  Me sería de gran ayuda el link que me mencionaste.

Saludos

richard

  • Moderador Global
  • *****
  • Mensajes: 2352
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #10 : septiembre 14, 2017, 10:45:06 am »
Hola Olga,
El tema es, yo quisiera sobresaltar los bienes vencido con algún tipo de efecto especial (nada sofisticado)  como color negrito o rojo a la fila o bien un pintado a toda la fila.
Buscando en toba-referencia, encontre en cuadro corte de control que de manera simple consigue personalizar un poquito la salida visual(ni siquiera me interesa la salida pdf o excel)
el tema es que si queres trabajar la fila para ponerle un estilo distinto por ejemplo, tenes que trabajar el cuerpo del cuadro, no el corte de control especificamente.
La operación que mencionas está buena porque muestra como hacer para agregar info extra a cada corte de control, inclusive sumarizaciones u algo de corte mas estadistico.
Pero ahi no estas modificando el cuerpo del cuadro, sino que implementas ventanas especificas que ya existen a tal fin y que tal vez no son demasiado conocidas.
Mas allá de eso, la lógica no esta mal.. solo tendrías que elegir otros metodos para redefinir.

Citar
Como lo hace el toba-referencia:
extiende el cuadro a un extension_cuadro_xx extended toba_ei_cuadro (Esto definido como extension desde el cuadro en el editor toba)
y utiliza las funciones
 function html_pie_cc_contenido__zona(&$nodo)
    {
        //Preparo una descripcion
        $escapador = toba::escaper();
        //$resultado = number_format($promedio, 2, ',', '.');
        echo "El promedio de habitantes por localidad es: <strong>$promedio</strong>.";
        .
        .
        .
    }
Bien, esa es la manera tradicional de extender un componente en Toba. A partir de la version 2.1, se separo las salidas del cuadro en varias clases, por un lado para darle legibilidad al codigo, para poder tener mas granularidad en la generación (redefinis codigo mas acotado), brindar la posibilidad de agregar salidas nuevas que no tuvieramos implementadas nosotros  y finalmente porque de la manera en que estaba generaba subclases satanicas cuando se querian cosas puntuales para varias salidas distintas.

Lo que se hizo entonces, es armar una clase toba_ei_cuadro_salida_xx para cada una de las salidas (html, pdf, excel, impresion_html, etc), esas subclases se instancian en runtime y se usan normalmente, salvo que se indique explicitamente que se debe usar una clase particular distinta. Si te tengo que recomendar algo, es que sigas este camino ya que tenes todos los metodos que hacen los echos en un solo lugar, rastrearlos desde la clase principal del cuadro es mas complicado. Si vas por aca, fijate que en la referencia de la API del cuadro esta el metodo 'set_manejador_salida' con el cual le especificas que clase queres que use.

Citar
Yo trato de hacer lo mismo y solo coloco el echo para probar que lo lee y no me funciona
yo hice ->  extension_cuadro_listado extended spb_ei_cuadro  con la funcion
extension_cuadro_listado.php
funcion  --->       function pdf_pie_cc_cabecera__periodo_prestamo(&$nodo)
                                      {
                                       echo "El promedio de habitantes por localidad es: .";
                                        }
periodo_prestamo es el campo del corte de control
Ok.. pero fijate que ese metodo va a llamarse unicamente con la salida pdf y en ese caso no podes hacer un echo, sino que tenes que usar el objeto $this->salida para poder modificar algo.
Cambiale el pdf --> html y proba, igual como te decia.. eso solo te va a afectar el CC.

Saludos

Twitter es al incontinente verbal,  lo que los dulces al diabetico.

richard

  • Moderador Global
  • *****
  • Mensajes: 2352
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #11 : septiembre 14, 2017, 10:45:55 am »
Hola Pablo,
Hola Richard, gracias por responder.  Me sería de gran ayuda el link que me mencionaste.
te dejo el link al metodo que usarías para indicarle a Toba que clase utilizar.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

olgacisneros

  • Jr. Member
  • **
  • Mensajes: 76
    • Ver Perfil
    • Email
  • Institución: U.N.C. S.P.G.I.
  • Nombre y apellido: Olga Cisneros
  • Teléfono laboral: 0351-4266211
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #12 : septiembre 14, 2017, 03:43:23 pm »
Hola Ricardo, finalmente logre que me funcione la estructura.  Pero del modo tradicional, le cambie html, igual como vos me indicaste las funciones que estaba utilizando se ve que se interponian y no me muestran nada, probe con la de sumarizar_cc y me funciono
Ahora la pregunta es. Yo quiero utilizar la funcion generar_layout_fila() que depende  de  toba_ei_cuadro_salida_html.
Hice como indicaste

1)Crear, o en mi caso modificar el archivo .php  con extension  toba_ei_cuadro_salida o  toba_ei_cuadro_salida_html
2)En el conf del cuadro en cuestion le agregue $cuadro->set_manejador_salida('html', 'nombre de la clase que cree en el punto 1');

y se me queda toda la pantalla en blanco
Muchas gracias por tu tiempo

richard

  • Moderador Global
  • *****
  • Mensajes: 2352
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Como lograr un efecto negrita u otra forma en una linea de cuadro
« Respuesta #13 : septiembre 15, 2017, 10:48:20 am »
Hola Olga,

si te queda la pantalla en blanco, tiene pinta de ser un fatal, ya sea porque no encontro la clase (acordate de registrarla en el autoload o  hacer el include necesario en el CI), porque hay algun error de sintaxis o porque no tiene permisos apache para abrir el archivo, etc.
Fijate en el log de errores de Apache que ahi seguro dice que fue lo que lo provoco.

Otra opcion, si renombraste la subclase que tenias para el cuadro, quizas te este quedando alguna llamada a un metodo de la clase cuadro, recorda que ahora no estas extendiendo de la misma clase, eso va a palmar. Dentro de las clases de "salida" hay una variable que referencia al objeto cuadro, por si necesitas llamar a uno de sus metodos.

Saludos
« Última Modificación: septiembre 15, 2017, 10:50:35 am por richard »
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

 

Comunidad SIU