Dynamiske links til sidste måneds nyheder i OPAC’en

For nylig har vi på Horsens kommunes bibliotekers website implementeret en række lister  med dynamiske links til sidste måneds anskaffelser i bibliotekets DDELibra baserede OPAC. Listerne kan i høj grad erstatte Axiell’s modul til DDELibra, “Publicering af lister” (se produktspecifikation i PDF format her). Her er opskriften.

Du skal bruge:

Et website, der er programmeret i PHP med fuld adgang til front end koden.

Det er en fordel at have adgang til en “link-generator” til OPAC’en, så du nemt kan omdanne CCL søgninger til links. Se f.eks. Horsens kommunes bibliotekers link-generator her.

Fremgangsmåde:

De links, vi konstruerer til en nyhedsliste, består af:

  • en statisk del, nemlig den emneafgrænsende del af CCL søgningen.
  • en dynamisk del, nemlig den tidsafgrænsende del af CCL søgningen.

Det er den tidsafgrænsende del, vi skal kode i PHP. Vi har valgt at tidsafgrænse nyhedslisterne til sidste måned. For at få fat i datoen samt få den afgrænset til sidste måned, hverken mere eller mindre, opretter vi en funktion, der ser således ud:

PHP kode:

  1. <?php
  2. function showmonth() {
  3. if (date("n") == 1) {
  4. echo date("Y")-1 . "12";
  5. } elseif (date("n") >= 2 && date("n") <= 9) {
  6. echo date("Y") . "0" . date("n")-1;
  7. } else {
  8. echo date("Y") . date("n")-1;
  9. }
  10. }
  11. ?>


Forklaring:
3) Hvis indeværende måned er januar, (4) udskrives december måned sidste år. (5) Men hvis indeværende måned er mellem februar og oktober, (6) udskrives indeværende årstal og sidste måneds nummer som 1 decimal. (7) Ellers (8) udskrives indeværende årstal og sidste måned.

Det var selve beregningen af funktionen. Nu skal vi kalde funktionen som en afgrænsende dato i den link-genererede CCL-søgning. Det gøres med <?php showmonth() ?>. Et link til listen over sidste måneds anskaffelser af krimier kommer dermed til at se således ud:

Selve linket: (Bemærk! Linien er brudt aht. læsbarheden. Linket må IKKE brækkes i stykker over flere linier)

  1. <a href="https://www.bibfolk.horsens.dk/sites/WWW/pub/search.html?doaction=search&
    data=scode_ccl=bh%3D<?php showmonth() ?>%3F%2520og%2520bh%3Dvo%2520og%2520
    ma%3Da%2520og%2520bh%3Dkri%20&request_attr_sortformat%3D2%20&
    request_attr_defaultpage%3D20%20&rec%3D0">Krimier</a>


There you go. God fornøjelse. Hvis du har forslag til forbedringer, hører jeg gerne nærmere.

9 thoughts on “Dynamiske links til sidste måneds nyheder i OPAC’en

  1. Pingback: Horsens kommunes biblioteker har en udviklingsblog » Bechs Webbrok

    • Det kan du godt have ret i. Det havde jeg faktisk ikke lige tænkt på, men det vil jeg da overveje at grave lidt i. En omskrivning er jo ikke sådan voldsomt kompliceret, så om noget er det nok mere tiden, der sætter begrænsningen.
      (jeg går snart på barsel)

  2. Klasse!
    Du og medkumpaner er gode fyrtårne i dansk folkebiblioteksvæsen.
    Jeg synes det er et godt tip fra Esben, at scriptet kan omskrives til andre scriptsprog – det kan andre biblioteker jo blot gøre og formidle lige så åbent som du forbilledligt gør – jeg synes ikke det er jeres opgave – I har noget der fungerer og har videregivet i ét sprog der fungerer for jer.
    Klasse!

    • Tak tak.

      Jeg tror dog, Esben har fat i noget, for javascript løsningen fungerer jo på tværs af platforme. Eneste problem er dog, at det kun vil fungere, såfremt brugerne har deres computerkalendere indstillet korrekt, da javascript jo afvikles på klienten. Men mon ikke, det virker hos de fleste?

      Javascript-løsningen betyder også, at vi vil kunne integrere den direkte i OPAC’en, som jo netop ikke kører på PHP. Så måske vil vi gerne bruge tid på oversættelsen.

      • var d=new Date();
        d.setFullYear(d.getFullYear(),d.getMonth()-1);
        document.write(“Krimier”.link(“https://www.bibfolk.horsens.dk/
        sites/WWW/pub/search.html?doaction=search&data=scode_ccl=bh%3D”+
        d.getFullYear()+(“0″+(d.getMonth()+1)).slice(-2)+escape(escape(
        “? og bh=vo og ma=a og bh=kri”))));

  3. Pingback: Opdatering af dynamiske links til nyhedslister i OPAC’en | IT & udviklingsbloggen

Skriv et svar

Din e-mail-adresse vil ikke blive offentliggjort. Krævede felter er markeret med *

*

Disse HTML koder og attributter er tilladte: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>