Difference between revisions of "OPAC-ABCD Vincular registros"

From ABCD Wiki
Jump to: navigation, search
Line 19: Line 19:
 
La respuesta en el OPAC a esta situación se logra a través de la etiqueta '''IFRAME''' que permite insertar una nueva búsqueda en el formato y desplegarla como una página incrustada en la página principal. Deberá incluir en el formato, en el lugar apropiado, los siguientes comandos:
 
La respuesta en el OPAC a esta situación se logra a través de la etiqueta '''IFRAME''' que permite insertar una nueva búsqueda en el formato y desplegarla como una página incrustada en la página principal. Deberá incluir en el formato, en el lugar apropiado, los siguientes comandos:
 
<nowiki>
 
<nowiki>
`<div style="position: relative;overflow: hidden;padding-top: 0px">
+
`<div style="position: relative;overflow: hidden;padding-top: 0px">
 
  <iframe  frameborder="0" scrolling="no" width=600  
 
  <iframe  frameborder="0" scrolling="no" width=600  
           onload="this.style.height=this.contentDocument.body.scrollHeight +'px';"                
+
           onload="this.style.height=this.contentDocument.body.scrollHeight +'px';"  
src="http://localhost:9091/opac_abcd/php/opac_ref.phpase=loanobjects&cipar=loanobjects.par&lang=en&Formato=@opac_loanobjects.pft&Expresion=Expresion"></iframe></nowiki>
+
          src="http://localhost:9091/opac_abcd/php/opac_ref.phpase=loanobjects&cipar=loanobjects.par&lang=en
</div>`
+
          &Formato=@opac_loanobjects.pft&Expresion=`Expresion`">
 +
</iframe>
 +
</div>`
 +
</nowiki>

Revision as of 15:52, 29 January 2020

Supongamos que tenemos un registro principal A1 y en otra base de datos, o en la misma, tenemos varios registros vinculados con ese registro principal, A1.1, A1.2, A1.3, etc. Nuestra primera opción sería pensar en el uso de la función REF del lenguaje de formatos para ubicar los registros vinculados desde el registro principal, utilizando la clave que los relaciona (Ejm. el número de control); sin embargo, si utilizamos el comando REF solo localizaremos el primer registro vinculado.

Además, la versión 2.0 de ABCD permite varias versiones de cisis para crear bases de datos (ansi, bigisis, ffi, utf8, bigisis) por lo que podemos tener el registro principal en una versión de cisis y los registros vinculados en otra versión de cisis. Si aplicamos la función REF del lenguaje de formateo, los registros vinculados serán leídos con la misma versión del registro principal.

Para solucionar este problema se aconseja incluir en el formato de despliegue del registro principal una etiqueta IFRAME para que realice la búsqueda de los registros vinculados aplicando la versión y juego de caracteres correspondientes a la base de datos vinculada.

La base de esta acción está en el archivo dr_path.def de las bases de datos tanto principal como vinculadaa que define la versión y juego de caracteres de cada base de datos. Entonces si en la base de datos principal tenemos en el dr_path.def los parámetros:

     CISIS_VERSION=utf8
     charset=UTF-8

La base principal se presentará utilizando la versión de cisis utf8 y el juego de caracteres de la página de la etiqueta content-type será UTF-8

Ahora bien, si la base de datos vinculada especifica en su archivo dr_path.def los parámetros

     CISIS_VERSION=ansi
     charset=ISO-8859-1

Se utilizará la version ansi de cisis pero los datos deben ser presentados en UTF-8.

Adicionalmente a estos problemas, debemos recordar que la función REF del lenguaje de formatos recupera un solo registro de la base de datos vinculada y probablemente necesitemos recuperar más de un registro. Como referencia a este planteamiento ver: Vinculación de registros

La respuesta en el OPAC a esta situación se logra a través de la etiqueta IFRAME que permite insertar una nueva búsqueda en el formato y desplegarla como una página incrustada en la página principal. Deberá incluir en el formato, en el lugar apropiado, los siguientes comandos: `<div style="position: relative;overflow: hidden;padding-top: 0px"> <iframe frameborder="0" scrolling="no" width=600 onload="this.style.height=this.contentDocument.body.scrollHeight +'px';" src="http://localhost:9091/opac_abcd/php/opac_ref.phpase=loanobjects&cipar=loanobjects.par&lang=en &Formato=@opac_loanobjects.pft&Expresion=`Expresion`"> </iframe> </div>`