Omnikids-website

OmniKids website

De site van omnikids.be. Platte PHP zonder framework of build-stap. Live op https://www.omnikids.be/ — hosting bij Vimexx (DirectAdmin, web0113.zxcs.nl), automatisch geüpload via GitHub Actions bij elke push naar main.

Twee soorten inhoud

  Waar het leeft Wie past het aan
Pagina’s, opmaak, structuur deze repo Claude / een ontwikkelaar, via een push
Prijzen, kampdata, lesdata, losse teksten, foto’s op de server (data/content.json, images/foto/) Johannes, via /admin

Daarom staat data/** in de exclude-lijst van de deploy en in .gitignore: een push mag nooit overschrijven wat via het beheerpaneel is ingevoerd.

images/foto/** staat wél in de deploy. Dat is met opzet: de deploy-actie verwijdert op de server wat niet meer in de repo zit, dus een uitsluiting zou de foto’s wissen. Een foto die via /admin geplaatst is, blijft staan zolang het gelijknamige bestand in de repo niet verandert. Haal nieuwe foto’s af en toe van de server naar de repo, dan staan ze ook in het versiebeheer.

inc/content.default.json is de terugvalversie: zolang er op de server nog geen data/content.json bestaat (of als die stuk is), toont de site de waarden daaruit.

Structuur

De oude .html-adressen sturen via .htaccess met een 301 door naar .php, dus bestaande links en zoekresultaten blijven werken.

Het beheerpaneel (/admin)

Aanmelden met één wachtwoord (hash in data/admin.json, buiten de repo). De eerste keer instellen vraagt een installatiecode die als data/setup-code.txt op de server klaargezet wordt; na het instellen wist het paneel dat bestand.

Tabbladen:

Let op bij kampprijzen: het bedrag in de betaalmail en de Mollie-betaallink komt uit apps-script/Code.gs (PRIJS_KLEUTERS, PRIJS_LAGERE_SCHOOL). Verandert een kampprijs, pas dan ook dat script aan.

De inschrijvingsformulieren

De formulieren posten naar het Apps Script-project OmniKids inschrijvingen. Dat schrijft elke inschrijving in de spreadsheet OmniKids inschrijvingen website — één tabblad per formulier (Sportkampen, Bewegingsschool, Sportreeks, Chigong) — en stuurt een betaalverzoek en een bevestiging.

Valt de verbinding weg, dan schakelt het formulier over op e-mail: de ouder krijgt zijn mailprogramma te zien met alle ingevulde gegevens. Er gaat dus nooit een inschrijving verloren.

Iets aanpassen aan de verwerking

Lokaal bekijken

php -S localhost:8000

Zonder data/content.json gebruikt de site vanzelf inc/content.default.json.

Nog te doen