Zoeken (overlay en resultaten)¶
Doel & URL('s)¶
Sitebreed zoeken binnen de GB-context: artikelen, nieuwsberichten, evenementen en producten. Voor alle bezoekers.
- Zoek-overlay: op elke pagina te openen via de zoekknop in de header.
- Resultaten-URL:
/?s={term}&t=GB(vanuit het formulier) én/search/{term}/(nette zoek-URL); beide werken. - Paginering:
/page/{n}/?s={term}resp./search/{term}/page/{n}/.
Opbouw¶
Zoek-overlay¶
Fullscreen overlay over de pagina:
- Kop: "Waar bent u naar op zoek?".
- Zoekformulier: GET naar
/, tekstveldsmet placeholder "Type om te zoeken", verborgen veldt=GB(behoudt de sub-site-context) en een submitknop met zoek-icoon. - Openen: klik op de zoekknop (vergrootglas) in de header. Sluiten: sluitknop of Escape.
Resultatenpagina¶
- Kop "Zoekresultaten voor:" +
h1met de zoekterm tussen aanhalingstekens. - Bij 0 resultaten: "Helaas, er zijn geen resultaten gevonden."
- Herhaald zoekformulier (zelfde formulier als in de overlay).
-
Per resultaat (
c-search-preview): titel-link, de URL als sublink en een samenvatting van maximaal 30 woorden. De samenvattingsbron hangt af van het contenttype:Contenttype Samenvattingsbron Nieuwsbericht news_introArtikel article_introEvenement event_introProduct product_textPagina eerste tekstblok -
Genummerde paginering (10 resultaten per pagina).
Databronnen¶
| Gegeven | Bron |
|---|---|
| Doorzochte posttypes (GB-context) | gb-post, gb-event, wv-article, product (de geconfigureerde gb-article/gb-page bestaan niet als posttype) |
| Zoekbereik | Titel + content, én ACF-velden van het type text/textarea/wysiwyg (plugin "ACF Better Search") — een term die alleen in de artikelbody-blokken voorkomt geeft dus ook een treffer |
| Resultaten per pagina | 10 (WP-instelling) |
| Sub-site-context | Hidden veld t in het zoekformulier |
Gedrag & rollen¶
- Publiek; geen rolverschillen. Afgeschermde content (uitgaven) valt buiten de doorzochte posttypes.
- De
?t=GB-parameter houdt kleuren, menu en resultaatfilter in GB-context; de parameter zet tevensnoindexop de resultatenpagina. - Zoeken vanaf een WV/TR/CGC-pagina gebruikt dezelfde overlay met de eigen sub-site-key en eigen posttype-set (buiten deze pagina beschreven).
Acceptatiecriteria¶
- Als bezoeker klik ik op een willekeurige GB-pagina op de zoekknop in de header, dan opent de fullscreen overlay met de kop "Waar bent u naar op zoek?" en krijgt het zoekveld focus.
- Als bezoeker sluit ik de overlay met Escape of de sluitknop, dan verdwijnt de overlay zonder te navigeren.
- Als bezoeker typ ik een term en verzend ik het formulier, dan land ik op de resultatenpagina met
s={term}ent=GBin de URL en toont deh1mijn zoekterm. - Als bezoeker met een term die voorkomt in nieuws, artikelen, evenementen of producten zie ik resultaten van die typen, elk met titel-link, URL en samenvatting van maximaal 30 woorden.
- Als bezoeker klik ik op een resultaattitel, dan navigeer ik naar de betreffende detailpagina.
- Als bezoeker zoek ik op een term die alleen in de bodytekst (ACF-blokken) van een artikel voorkomt, dan levert dat artikel toch een treffer op.
- Als bezoeker zoek ik op een onzin-term, dan verschijnt "Helaas, er zijn geen resultaten gevonden." met daarbij een nieuw zoekformulier.
- Als bezoeker met meer dan 10 treffers zie ik paginering; pagina 2 toont andere resultaten dan pagina 1.
- Als bezoeker levert de nette URL
/search/{term}/dezelfde resultaten als/?s={term}. - Als bezoeker blijft de resultatenpagina in GB-huisstijl (body-class
theme-gb, GB-menu). - Als bezoeker verschijnen er géén uitgaven (issues) of accountpagina's in de resultaten.
Bekende afwijkingen¶
NIET nabouwen in Next.js — wel vermelden in het testrapport
- De zoekconfiguratie bevat de niet-bestaande posttypes
gb-articleengb-page; feitelijk wordt gezocht ingb-post,gb-event,wv-articleenproduct. In de rebuild de doorzochte set expliciet definiëren. - Er zijn twee URL-vormen (
/?s=en/search/{term}/) zonder redirect naar één canonieke vorm; de?t=-parameter zet bovendiennoindex. Rebuild-beslispunt: één canonieke zoek-URL kiezen. - De paginering van zoekresultaten met meer dan één pagina is in de huidige site niet expliciet geverifieerd; bij het testen van de oude site eerst het feitelijke gedrag vaststellen.