Skip to content

Sådan opsætter du faner på detaljesiden

Når brugeren klikker på et søgeresultat, åbnes en detaljeside med ét eller flere faneblade — fx "Oplysninger", "BBR", "Husnumre" eller "Skråfoto". Fanerne kaldes detailhandlers i konfigurationen.

Denne vejledning viser hvordan du bruger de indbyggede standardfaner og hvordan du opretter egne.

Faner konfigureres samme sted som søgninger — i config.yml

Hvor placeres faner?

Der er to måder at placere faner på — vælg den der passer til din situation.

Lokalt på én søger

Fanerne er kun relevante for den ene søger:

yaml
searchers:
  biblioteker:
    _type: Septima.Search.DataSearcher
    _options: { ... }
    detailhandlers:
      - _type: Septima.Search.Details
        _options: { ... }

Delt bibliotek

Hvis samme fane skal bruges på flere søgere, så definér den én gang i en detailhandlers:-blok øverst i config.yml og genbrug den med _ref:

yaml
detailhandlers:
  minFane:
    _type: Septima.Search.Details
    _options: { ... }

searchers:
  adresser:
    _ref: $.standardkommune.dawa
    detailhandlers:
      - _ref: $.detailhandlers.minFane
  matrikler:
    _ref: $.standardkommune.gsearch
    detailhandlers:
      - _ref: $.detailhandlers.minFane

Genbrug standardfaner fra standardkommune

Når I har importeret standardkommune-biblioteket (se Søgninger), har I også adgang til et bibliotek af færdige faner. Tænd dem på jeres søger ved at tilføje _ref:-linjer under detailhandlers::

yaml
searchers:
  dawa:
    _ref: $.standardkommune.dawa
    detailhandlers:
      - _ref: $.standardkommune.detailhandlers.skraafoto
      - _ref: $.standardkommune.detailhandlers.bbrInfoOgSager
      - _ref: $.standardkommune.detailhandlers.sqHusnumre

De mest brugte standardfaner

NavnHvad viser den?
skraafotoSkråfotos fra Dataforsyningen, projiceret på resultatets geometri.
bbrInfoOgSagerBBR-oplysninger og aktive BBR-sager for ejendom/bygning.
ejendomsInfoEjendomsoplysninger fra Datafordeleren.
sqHusnumreHusnumre der ligger indenfor resultatets geometri.
sqJordstykkerJordstykker der ligger indenfor resultatets geometri.
dagiInfoSogn, retskreds, politikreds og andre administrative enheder.
planInfoPlaner (lokal-, kommuneplanrammer m.fl.) der rammer geometrien.

Overskriv felter på en delt fane

Du kan ændre enkelte felter på en delt fane uden at ændre biblioteket — læg bare _options: på din _ref:

yaml
- _ref: $.standardkommune.detailhandlers.sqHusnumre
  _options:
    targets: [{ source: '*', typeId: matrikelnumre }]
    buttonText: Husnumre på matriklen

Egne faner — kogebog

Nedenfor er fem mønstre du kan kopiere. Felterne id og buttonText styrer fanens identitet og titel; targets styrer hvilke søgeresultater den vises for (se Styr hvornår fanen vises).

Eksempel A: Statisk info-fane

Vis udvalgte felter fra resultatet som label/værdi-rækker og et link:

yaml
searchers:
  biblioteker:
    _type: Septima.Search.DataSearcher
    _options: { ... }
    detailhandlers:
      - _type: Septima.Search.Details
        _options:
          id: bibliotekInfo
          buttonText: Oplysninger
          details:
            - type: labelvalue
              label: Navn
              value: $.properties.navn
            - type: labelvalue
              label: Adresse
              value: $.properties.adresse
            - type: link
              linkTitle: Åbn bibliotekets hjemmeside
              link: https://min-kommune.dk/biblioteker/{$.properties.id}

Eksempel B: Samlefane med flere under-faner

Saml flere visninger under én titel med ComposedDetailsHandler:

yaml
- _type: Septima.Search.ComposedDetailsHandler
  _options:
    id: omEjendommen
    buttonText: Om ejendommen
  detailhandlers:
    - _ref: $.standardkommune.detailhandlers.ejendomsInfo
    - _ref: $.standardkommune.detailhandlers.bbrInfoOgSager
    - _ref: $.standardkommune.detailhandlers.sqHusnumre

Eksempel C: Find data indenfor geometrien

Brug SqDetailsHandler til at søge i andre søgere med resultatets geometri — fx "planer på ejendommen":

yaml
- _type: s3.SqDetailsHandler
  _options:
    id: planerIOmraadet
    buttonText: Planer i området
    polygonIntersectsBuffer: -1
    searchers:
      - _ref: $.searchers.plansystem

polygonIntersectsBuffer: -1 kræver præcis overlap (undgår at inkludere naboplaner der kun rammer linjen).

Eksempel D: Hop til relateret resultat

Brug type: result til at lave et klikbart link der åbner et andet søgeresultat — fx fra en virksomhed til dens adresse:

yaml
- _type: Septima.Search.Details
  _options:
    id: virksomhedsdetaljer
    buttonText: Virksomhed
    details:
      - type: labelvalue
        label: Navn
        value: $.navn
      - type: link
        linkTitle: Se {$.navn} på virk.dk
        link: https://datacvr.virk.dk/enhed/virksomhed/{$.cvrnummer}
      - type: result
        label: Adresse
        result:
          searcher: { _ref: $.searchers.dawa }
          type: adresse
          id: $.husnummerid

Eksempel E: Feature info fra QGIS / WMS

På en OwsUtils.Searcher (fx QGIS Server) giver OwsUtils.InfoHandler automatisk en fane med alle attributter fra det ramte feature:

yaml
searchers:
  qgis:
    _type: Septima.Search.OwsUtils.Searcher
    _options:
      url: https://qgis.min-kommune.dk/ows?MAP=/data/kommune/projekt.qgz
    detailhandlers:
      - _type: Septima.Search.OwsUtils.InfoHandler
        _options:
          buttonText: Attributter

Styr hvornår fanen vises

targets styrer hvilke søgeresultater fanen skal dukke op på. Hvis targets udelades, vises fanen for alle resultater søgeren returnerer.

SyntaksBetydning
source: '*'Matcher enhver kilde.
typeId: '*'Matcher enhver resultattype.
typeId: [a, b]Matcher flere typer (ELLER).
Flere {source, typeId}Én match er nok (ELLER).

Eksempel — fanen skal kun vises på matrikler og på DAWA-adresser:

yaml
targets:
  - { source: '*',  typeId: matrikelnumre }
  - { source: dawa, typeId: [adgangsadresse, adresse] }

Værdier fra resultatet — $.…-placeholders

Du kan hente værdier fra det aktuelle resultat på to måder:

  • Hele feltet: value: $.properties.foo læser feltet direkte.
  • Indlejret i en streng: link: https://example.dk/{$.properties.id} indsætter værdien. Flere {$.…} kan optræde i samme streng.

Stierne er JSONPath mod resultatets data — typisk $.properties.<feltnavn> for GeoJSON-baserede søgninger, eller $.<feltnavn> for REST/PostgREST.

Fejlfinding

SymptomHvad skal du tjekke?
Fanen vises ikketargets matcher ikke hittet. Fjern targets midlertidigt, eller brug source: '*' og typeId: '*'.
Fanen er tomDine $.…-stier rammer ikke dataen. Prøv at logge et hit fra søgningen for at se den faktiske struktur.
To faner smelter sammenGiv hver fane en unik id:-værdi.
Ændring i delt fane slår ikke igennemDu har overskrevet _options lokalt. Hvis du vil ændre biblioteket for alle, så ret der — ellers læg ændringen i din lokale _ref.
Spatial fane tom, selv om data findesSqDetailsHandler kræver at resultatet har geometri. Tjek at søgeresultatet rent faktisk er geografisk.
Fanen står forkert i rækkefølgenRækkefølgen i detailhandlers:-listen afgør rækkefølgen på skærmen. Flyt linjen op/ned.