Hey,
Voor een website moeten voor de meeste onderdelen waarbij bezoekers input kunnen leveren (zoals reacties, topic, etc.) een optie komen om een klacht te kunnen indienen over het betreffende item.
Nu heb ik dus zo goed als het hele systeem klaar, echter wil ik graag jullie advies hebben over hoe zo'n klachtensysteem in elkaar te zetten.
In het beheer is het de bedoeling dat alle klachten te zien zijn en het item waar het over gaat zichtbaar en aanpasbaar is.
Wat ik nu heb is een tabel genaamd 'klachten'. Nu moeten daar dus alle klachten bijeen komen (dit is geen probleem).
De tabel 'klachten' bevat de volgende velden:
id
klachttype - Dit is een enum veld met het type klacht, zoals forum, mp3reactie, etc.
itemid - Dit is een integer wat correspondeert met de id behorend bij het type klacht, waarmee het beteffende item opgevraagd kan worden
lidid - Het id van het lid die de klacht heeft ingediend
klachtomschrijving - Omschrijving van de klacht
datum - Datum toegevoegd
Nu dient in het beheer de afzonderlijke items waarover de klacht gaat (reacties, topic, mp3, video, etc.) zichtbaar te worden, waarbij er aantal opties zijn: item aanpassen, item verwijderen of klacht negeren.
Het lastige aan deze manier van klachten afhandelen is dat je te maken hebt met verschillende veldnamen per klachttype.
Wat ik nu heb is een array met de verschillende klachttypen die de veldnamen bevatten en het type item (text, mp3, video, etc.). Deze array gebruik ik om te weten wat voor een type item weergegeven moet worden (moet er een textarea getoond worden met daarin het bericht, of een mp3 speler met het mp3 bestand, etc.).
Ik hoop dat jullie door mijn verhaal een indruk hebben hoe ik het nu heb. Ik loop namelijk tegen een aantal problemen aan, kortweg:
- Het aanpassen van de items wordt lastig door de verschillende veldnamen die per type item worden gebruikt.
- Bij een forumreactie moet ik een controle inbouwen om te kijken of het een reactie of een topicstart is (is omslachtig)
- Het wordt allemaal erg complex
Een andere methode is om bij een klacht rechtstreeks door te verwijzen naar het item zoals die op de website te zien is, maar omdat het veelal om reacties gaan die door ajax worden ingeladen wordt dit een lastig zaak en zal het bericht, etc. nog aanpasbaar gemaakt moeten worden.
Ik kan het allemaal wel op deze manier doen, maar ik heb een idee dat het wat beter kan en vraag jullie of jullie wellicht een betere, eenvoudigere oplossing hebben.
Voor een website moeten voor de meeste onderdelen waarbij bezoekers input kunnen leveren (zoals reacties, topic, etc.) een optie komen om een klacht te kunnen indienen over het betreffende item.
Nu heb ik dus zo goed als het hele systeem klaar, echter wil ik graag jullie advies hebben over hoe zo'n klachtensysteem in elkaar te zetten.
In het beheer is het de bedoeling dat alle klachten te zien zijn en het item waar het over gaat zichtbaar en aanpasbaar is.
Wat ik nu heb is een tabel genaamd 'klachten'. Nu moeten daar dus alle klachten bijeen komen (dit is geen probleem).
De tabel 'klachten' bevat de volgende velden:
id
klachttype - Dit is een enum veld met het type klacht, zoals forum, mp3reactie, etc.
itemid - Dit is een integer wat correspondeert met de id behorend bij het type klacht, waarmee het beteffende item opgevraagd kan worden
lidid - Het id van het lid die de klacht heeft ingediend
klachtomschrijving - Omschrijving van de klacht
datum - Datum toegevoegd
Nu dient in het beheer de afzonderlijke items waarover de klacht gaat (reacties, topic, mp3, video, etc.) zichtbaar te worden, waarbij er aantal opties zijn: item aanpassen, item verwijderen of klacht negeren.
Het lastige aan deze manier van klachten afhandelen is dat je te maken hebt met verschillende veldnamen per klachttype.
Wat ik nu heb is een array met de verschillende klachttypen die de veldnamen bevatten en het type item (text, mp3, video, etc.). Deze array gebruik ik om te weten wat voor een type item weergegeven moet worden (moet er een textarea getoond worden met daarin het bericht, of een mp3 speler met het mp3 bestand, etc.).
Ik hoop dat jullie door mijn verhaal een indruk hebben hoe ik het nu heb. Ik loop namelijk tegen een aantal problemen aan, kortweg:
- Het aanpassen van de items wordt lastig door de verschillende veldnamen die per type item worden gebruikt.
- Bij een forumreactie moet ik een controle inbouwen om te kijken of het een reactie of een topicstart is (is omslachtig)
- Het wordt allemaal erg complex
Een andere methode is om bij een klacht rechtstreeks door te verwijzen naar het item zoals die op de website te zien is, maar omdat het veelal om reacties gaan die door ajax worden ingeladen wordt dit een lastig zaak en zal het bericht, etc. nog aanpasbaar gemaakt moeten worden.
Ik kan het allemaal wel op deze manier doen, maar ik heb een idee dat het wat beter kan en vraag jullie of jullie wellicht een betere, eenvoudigere oplossing hebben.