login  Naam:   Wachtwoord: 
Registreer je!
 Forum

CMS (Content Management System)

Offline Marly - 28/08/2005 10:06
Avatar van MarlyHTML interesse Ik wil een eigen cms maken.
Maar ik weet niet precies welke opties er horen te zitten, en wat je allemaal nodig hebt.
Kunnen jullie mij dat zeggen?

11 antwoorden

Gesponsorde links
Offline nemesiskoen - 28/08/2005 10:12
Avatar van nemesiskoen Gouden medaille

PHP expert
Ik zou beginnen met een template engine te downloaden/maken.
Vervolgens laad je dan in een standaard template al je gegevens in.
Je kan dan links en sublinks laten invoeren en deze per ID met elkaar verbinden in een tabel. De links en sublinks aanroepen en de bijbehorende content. Als je al zover zit kan je dan ook nog eens een install bestand maken (mysql gegevens laten invoeren en vervolgens dit bestand laten verwijderen).
Als je hier mee klaar bent dan zal je creatieve brein de rest van het werk wel doen.
Offline Marly - 28/08/2005 10:25
Avatar van Marly HTML interesse Ok, maar ik bedoelde eigenlijk welke onderdelen.
Zoals:
- Inloggen
- Registreren
- Admin pagina

zoeits bedoelde ik eigenlijk...
Offline nemesiskoen - 28/08/2005 10:30
Avatar van nemesiskoen Gouden medaille

PHP expert
Je zegt het zelf:
inloggen/registreren
nieuwssysteem (toevoegen/verwijderen/bewerken (admin), reacties: toevoegen/bewerken (lid), verwijderen (admin))
forum (categoriën toevoegen, reacties verwijderen (admin), topics starten en reacties toevoegen en bewerken (lid))
poll (toevoegen/bewerken/verwijderen (admin), reacites: toevoegen/bewerken (lid), verwijderen (admin))
en zo kan je blijven doorgaan...
Offline Marly - 28/08/2005 10:53
Avatar van Marly HTML interesse Dit is tot nu toe mijn plan.
Als je nog ideen hebt zeg het maar!
  1. MIT - CMS
  2. - Admin
  3. - Leden Beheren
  4. - Forum Beheren
  5. - Poll Beheren
  6. - Nieuws Beheren
  7. - Links Beheren
  8. - Downloads Beheren
  9. - Zoek
  10. - Leden
  11. - Forum
  12. - Poll
  13. - Nieuws
  14. - Links
  15. - Downloads
  16. - Leden
  17. - Inloggen
  18. - Registreren
  19. - Uitloggen
  20. - Ledenlijst
  21. - Verjaardags Kalender
  22. - Controle Paneel
  23. - Nieuws
  24. - Toevoegen
  25. - Verwijderen
  26. - Bewerken
  27. - Reacties
  28. - Toevoegen
  29. - Bewerken
  30. - Verwijderen
  31. - Forum
  32. - Categoriën
  33. - Toevoegen
  34. - Reacties verwijderen
  35. - Topics starten
  36. - Reacties toevoegen
  37. - Reacties bewerken
  38. - Poll
  39. - Toevoegen
  40. - Bewerken
  41. - Verwijderen
  42. - Reacties
  43. - Toevoegen
  44. - Bewerken
  45. - Verwijderen
  46. - Links
  47. - Toevoegen
  48. - Bewerken
  49. - Verwijderen
  50. - Reacties
  51. - Toevoegen
  52. - Bewerken
  53. - Verwijderen
  54. - Downloads
  55. - Toevoegen
  56. - Bewerken
  57. - Verwijderen
  58. - Reacties
  59. - Toevoegen
  60. - Bewerken
  61. - Verwijderen
  62. - Statistieken
Offline nemesiskoen - 28/08/2005 11:16
Avatar van nemesiskoen Gouden medaille

PHP expert
maw: sm proberen te kopiëren buiten scripts en tutorials dan
Offline marten - 28/08/2005 11:36
Avatar van marten Beheerder Misschien is het ook wel handig om te weten wat voor cms?
Wat komt er allemaal op? Wat moet er beheerd worden? enz
Vervolgens kan je aan de hand hiervan wel een lijstje maken
Offline Ibrahim - 28/08/2005 12:09 (laatste wijziging 28/08/2005 12:09)
Avatar van Ibrahim PHP expert wat voor site het is is ook belangrijk...
Als het een site zoals SiMa word kun je ook tutorials en scripts doen...
Offline XenoX - 28/08/2005 12:40
Avatar van XenoX Gouden medailleGouden medaille

PHP expert
Bij een CMS is het toch de bedoeling dat je modules kunt toevoegen ?

Waarom dan alles al maken, je hoeft alleen het nodige te maken:
- Het systeem zelf
- Ledensysteem
- Forum
- Statistieken

De rest maak je er later bij.
Kijk naar phpnuke, mambo, enz..
Offline Fenrir - 28/08/2005 12:44 (laatste wijziging 28/08/2005 13:15)
Avatar van Fenrir PHP expert OK, wat voor functies in een CMS komen is niet zo belangrijk. Het belangrijkste is dat het uitbreidbaar is. Bij dit uitbreiden moet je zorgen dat de programmeur die een nieuwe functionaliteit toevoegt (bijv. scripts, forum, of nieuws), geen code hoeft te schrijven die er eigenlijk al is.

Een voorbeeld:
Jij maakt een CMS, en daarin zitten de volgende functies:

  1. - Forum
  2. - Categoriën
  3. - Toevoegen
  4. - Reacties verwijderen
  5. - Topics starten
  6. - Reacties toevoegen
  7. - Reacties bewerken
  8. - Links
  9. - Toevoegen
  10. - Bewerken
  11. - Verwijderen
  12. - Reacties
  13. - Toevoegen
  14. - Bewerken
  15. - Verwijderen


Nu komt er een andere programmeur, en die wil er een nieuwe functionaliteit aan toevoegen: Downloads:
  1. - Downloads
  2. - Toevoegen
  3. - Bewerken
  4. - Verwijderen
  5. - Reacties
  6. - Toevoegen
  7. - Bewerken
  8. - Verwijderen

Hier zie je dat dit bijna hetzelfde is als links. Dus het zou voor deze programmeur mogelijk moeten zijn om bij. het
  1. reactie-systeem
over te nemen van links. Dus niet code copy-pasten, maar via een andere weg. Want als je code gaat kopieeren, en je ziet later dat er een bug in zit, bijv. dat leden die geen rechten hebben om reacties van anderen te verwijderen dat toch kunnen doen door dat in de url te schrijven (reactie.php?ID=324&actie=verwijder) dan moet je die in alle systemen eruit gaan halen. Als je het zo maakt dat de programmeur deze code kan gebruiken zonder hem te kopieeren dan hoef je dat maar 1 keer te doen.

Ik raad je aan te werken volgens het Model-View-Controller principe. Dat zegt dat je de volgende code uit elkaar moet houden:

Model: code die data uit een database, of uit een file haalt
View: code die de data uit het Model verwerkt naar output, bijv. HTML
Controller: code die de acties die de gebruiker wil doen uitvoert, bijv. een reactie posten of verwijderen.

Als je dit doet blijft je CMS zo universeel mogelijk. Als jij het gemaakt hebt voor een mysql-database, maar iemand anders wil de data liever uit een XML-bestand halen hoeft hij alleen de Model-code te veranderen.
En als iemand zijn website een andere layout wil geven dan verandert hij de View-code.

Dit werkt op de volgende manier:

De controller verwerkt de input ($_GET, $_POST, etc), en laadt het Model & View. Daarna koppelt de controller Model aan View, en stuurt een seintje naar View, zodat de output gemaakt wordt. Als View tijdens het maken van de output data nodig heeft wordt dat aan Model gevraagd.

Dus zo:

Controller -> Model
Controller -> View
View -> Model

Dus Model is passief, en doet niets als dat niet gevraagd wordt. Je zou ieder gedeelte (model/view/controller) in een class kunnen stoppen, maar het kan ook als je met functies werkt.

Het moet in ieder geval los van elkaar kunnen runnen. Dus je moet in View bijv. een andere template-engine kunnen gaan gebruiken zonder dat je daarvoor de model-code, of controller-code hoeft te veranderen.

Met informatie vind je op http://www.phppatterns.com : een goede site die helaas (bij mij) vaak niet werkt.
Offline marten - 28/08/2005 14:30
Avatar van marten Beheerder Goede uitleg
Zie je te weinig in tutorials om je code zo universieel mogelijk te houden 
Offline Marly - 29/08/2005 07:23
Avatar van Marly HTML interesse Bedankt iedereen!

@ Fenrir

Die site werkt helaas niet...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.261s