Hacer búsquedas cruzadas por autores, materias, etc, dentro del módulo de catalogación de ABCD

From ABCD Wiki
Jump to: navigation, search
  • Modifique el formato bases/www/prologoact.pft agregando el siguiente script:
   '
    function CruzarABCD(Termino,Prefijo){
        top.browseby="search"
        top.Expresion="\""+Prefijo+Termino+"\""
        top.mfn=1
        top.Menu("ejecutarbusqueda");
    }
   '

Si es el primer javascript que está colocando en prologoact.pft, debe anteponer al script el tag <script> y terminarlo con el tag </script> de forma tal que prologoact.pft quedaría de la siguiente manera:

  '
   <script>
     function CruzarABCD(Termino,Prefijo){
         top.browseby="search"
         top.Expresion="\""+Prefijo+Termino+"\""
         top.mfn=1
         top.Menu("ejecutarbusqueda");
     }
   </script>
  '

Tome en cuenta que toda la sentencia está encerrada entre ' porque estamos insertando en un formato Isis un literal incondicional.

  • Modifique el formato de presentación agregando los hipervínculos para las búsquedas cruzadas:
 (if p(V10) then `<a href='javascript:CruzarABCD("`v10`","AU_")'>`v10`</a>`,
    if iocc<>nocc(v10) then `;  ` fi 
  fi/)

Esta sentencia agrega un llamado al javascript CruzarABCD y le envía como parámetros el autor (v10) y el prefijo con el cual están indizados los autores en la FST. La llamada al javascript activa la búsqueda de un término del diccionario, tal como si hubiera sido activada desde la búsqueda avanzada.

Como resultado se presenta en la ventana de ABCD todos los registros del autor seleccionado. La sentencia if iocc<>nocc(v10) then `; ` fi agrega un punto y coma al final de cada autor menos en el último.

Notese el uso de tres tipos de comillas en la oración:

` para delimitar los literales incondicionales en el formato isis

' para delimitar el href que activa el hipervínculo

" para delimitar las variables que se pasan a javascript


Si desea hacer un hipervínculo con los descriptores, la construcción sería la misma colocando la extracción del campo correspondiente:

    (if p(V76) then 
       `<a href='javascript:CruzarABCD("`v76`","MA_")'>`v76`</a>`,
           if iocc<>nocc(v76) then `;  ` fi 
     fi/)