Beste mensen,
Op het moment ben ik bezig met het bouwen van een CMS. Dit meer als leertraject om OOP onder de knie te krijgen. Op dat punt op het moment even geen vragen, maar ik zit even met een structuurprobleempje. Het CMS bestaat uit pagina's, op deze pagina's kunnen zich verschillende dingen bevinden, van foto's tot blogs, tot gewone tekst. Maar hoe pas ik dit in een technische structuur. Dus hoe sla ik dit op en hoe laat ik dit zien op een admin-pagina?
Iemand die hier ervaring mee heeft of gewoon ideeën heeft?
een koppeltabelletje maken dan maar..
1 tabel waar je de naam van de pagina in opslaat, die koppelen aan een tabel waar je de tekst inzet + het ID uit de paginanaamtabel...
op die manier weet je welke content bij welke paginanaam hoort.
Dat is vrij lastig. Ik heb dit probleem zelf ook gehad. Ik ben een CMS systeem aan het maken waar verschillende plugins in kunnen draaien (pagina's, fotoalbum, gastenboek, contact pagina, webshop, forum, etc).
Het probleem is dat al die verschillende applicatie niet echt homogeen zijn. Verre van dat. Dat valt dus niet in 1/2 (db-)tabelletjes te proppen.
Maar hoe los je dat op:
Ik heb het volgende gedaan. In de tabel menu items oid sla ik alleen de titel ,de link (en evt nog datum en volgorde_id en ouder_id, maar dat is van ondergeschikt belang) op.
Vervolgens weet mijn framework (kan ook alleen een router zijn) welke classe aangeroepen moet worden. En geeft de parameters mee (die staan hardcoded in de menu_items tabel (index.php?c=webshop&m=showproduct&id=3)).
Aan de hand van die parameters gaat de classe wat leuks doen (bijvoorbeeld goede pagina laten zijn, email sturen, producten laten zijn, forumcategorieën laten zijn, etc).
Zo kan elke plugin zijn eigen opslagemedium (lees: database) gebruiken en houd je alles zeer flexibel.
Heb je een nieuwe plugin. Gewoon de classes toevoegen en klaar is kees.