Hoi, ik ben momenteel bezig met het bouwen van een winkel wagen class. Dit lukt prima, met functies zoals addProduct, getTotalPrice, removeProduct etc. Nu is het vrij simpel om alle producten in de cart te laden en te printen in bijvoorbeeld een winkel wagen div.

Maar nu loop ik tegen het volgende aan. Ik bouw nu een winkel wagen class voor een sportschool. Het is geen web winkel waar je even alle producten onder elkaar print. Maar de opbouw moet zo zijn:

-Winkelwagen-
Abonnement:
- flex 19,95
Addons:
- sportwater 5,00
- online app 0,00

Zoals je ziet ziet het er niet ingewikkeld uit. Maar hoe categoreer ik het zodanig dat het juiste soort product onder het juiste kopje komt?

Ga er maar even vanuit dat een product een new Product() object is.
Een API gebruikt ook een database ;-)

Maar ik vermoed dus dat je bij een externe partij via een API de producten ophaalt en de verkopen ook via die API registreert.

Maar om terug te komen op je vraag, dan zul je dus inderdaad aan de hand van de productkenmerken moeten vaststellen om wat voor product het gaat.
Op het moment dat ik bijvoorbeeld de memberships ophaal met de api, dan weet ik in de code dus dat ik de mmembership producten ophaal, aan de hand daarvan kan ik dat makkelijk dus bepalen. Zelfde geldt dan ook voor addons! :)
Ik neem aan dat je niet realtime de memberships vanuit de API ophaalt? Die kan je prima tussentijds opslaan in de database en via een cron updaten.
Nee dat doe ik helaas niet. Gewoon op het moment dat een gebruiker de pagina op komt. Worden de memberships inheladen via $client->getMemberships().
Vanuit een class die ik heb gemaakt voor de api calls.
En wat als de API wegvalt? Zijn de memberships vaak hetzelfde? Of veranderen die vaak?
Als ze niet vaak veranderen kan je ze toch prima zelf cachen?
Jup cachen kan, maar als ik de membership niet kan ophalen omdat de api weg valt, dan zou ik ook niet een customer of nieuwe membership aan een customer kunnen toevoegen. Want dit is allemaal connectie met die api.
Gaat alles via de API dan? Kan je misschien wat meer context geven?
Ja alles gaat via de api. Ik sla zelf niks (ook niet tijdelijk) op. Als ik bijvoorbeeld memberships ophaal, gebruik ik bijvoorbeeld een specifiek membership id uit die call die ik weer mee-schiet met de customer details. En dat wordt dan weer bij die api opgeslagen.

Reageren