Deutschland United States United Kingdom
ContentLion - Open Source CMS

Eigenes CMS erstellen

Erstelle dein eigenes CMS mit unserem Tutorial. Dabei lernst du bestimmt einiges neues in Sachen Webentwicklung mit PHP. Als Ergebnis bekommst du die Basis von ContentLion, unserem Open Source CMS.

Ursprünglich wurde dieses Tutorial im Blog auf SteviesWebsite veröffentlicht.

Mach doch am besten selbst mit. Lies dir die Artikel durch und baue dein eigenes CMS. Durch unser Forum kannst du auch selbst Einfluss auf die aktuelle Entwicklung nehmen. Dort helfen wir dir gerne weiter, wenn mal Probleme auftreten.

Für alle die das CMS vorher einmal durchsehen möchte, hab ich ein kleines Video gedreht. Es zeigt das CMS nach dem Artikel 93. Natürlich kannst du auch die aktuelle Version des CMS kostenlos herunterladen.

Warum ein eigenes CMS?

Es gibt bereits unzählige Content-Managment-Systeme da draußen. Doch bei den großen Systemen hat man oft nicht die Chance selbst an der Entwicklung teilzuhaben. Das möchten wir anders machen. In dem CMS Tutorial haben wir bis 2011 bereits über 250 Artikel geschrieben, die die Entwicklung dokumentiert.

Wenn du die durchgearbeitet hast, hast du neben neuen Kenntnissen in PHP auch die besten Voraussetzungen, um dein Projekt so zu gestalten, wie du es gerne hättest. Wenn etwas nicht passt, kannst du mit deiner Erfahrung ein Plugin entwickeln und so das CMS nach deinen Wünschen anpassen.

Was benötige ich dafür?

Es ist leichter für dich, wenn du bereits erste Vorkenntnisse in PHP hast. Du musst aber kein Profi sein. Wenn es Probleme gibt, kannst du dich gerne bei uns melden.

Außerdem brauchst du einen Apache Webserver, PHP und eine MySQL Datenbank. Mit der Installation von XAMPP bekommst du sofort alles auf einmal. Für die Entwicklung selbst kannst du auch das Notepad verwenden. Wenn du etwas mehr Komfort möchtest, kannst du auch zu Netbeans greifen.

  1. Eigenes CMS erstellen
  2. Konzeption Grundgerüst CMS
  3. Dateisystem des CMS
  4. CMS: Datenbank Einstellungen in dbsettings.php
  5. CMS Einstellungen in der MySQL-DB
  6. MySQL Verbindung aufbauen
  7. CMS Einstellungen auslesen
  8. Content auf die Seite bringen
  9. Sicherheit des Include-Befehls
  10. Schöne Urls im CMS – Mod Rewrite sei dank
  11. Seiten in der Datebank registrieren
  12. Das HTML-Grundgerüst fürs CMS
  13. CMS Skins registrieren
  14. PHP SkinController
  15. CMS Kernsystem in eine eigene Klasse packen
  16. Komplettes (X)HTML in den Skin auslagern
  17. Globale Meta-Tags in der DB speichern
  18. Lokale Meta-Daten speichern / auslesen
  19. Seiteneinstellungen in der Klasse Page
  20. PHP Breadcrumb erstellen
  21. Die CMS Menü Klasse
  22. Lokale und Globale Navigation im CMS
  23. XHTML Validation verbessern
  24. Die 4 Farben des CMS Standardskins
  25. Farbeinstellungen speichern und auslesen
  26. Websitehintergrund mit Verlauf
  27. Globales Menü ausrichten
  28. Website Container erstellen
  29. Content-Bereich nach rechts schieben
  30. Lokales Menü ein/ausblenden
  31. CMS Titel anzeigen
  32. CMS CSS-Stylesheet auslagern
  33. Das Login-Formular zum Admin-Bereich
  34. Den Admin in der DB anlegen
  35. Admin Passwort prüfen & User Klasse erstellen
  36. Login Status speichern
  37. Admin Menü erstellen
  38. Seiten im Admin-Bereich auflisten
  39. Icon-Verzeichnis anlegen
  40. Form Design für Seite bearbeiten erstellen
  41. Die Settings-Tabelle wird erweitert.
  42. Ausgeben der Einstellungsmöglichkeiten
  43. CSS braucht ein Admin-Bereich
  44. Form im Design, oder Design in Form?
  45. Ein paar kleine CMS Updates…
  46. Die CMS Menüs bekommen Namen
  47. Menüs im Admin-Bereich auflisten
  48. Menü Aktionen anlegen
  49. Editierbare Menüs im Admin-Bereich ausgeben
  50. Seitendesign Menü bearbeiten
  51. Einstigspunkt - Der Code & Blog Jubiläums Beitrag
  52. CMS: Menü Eintrag hinzufügen
  53. Menü-Einträge Bearbeiten Teil 1
  54. Menü-Einträge Bearbeiten Teil 2
  55. Menü Einträge löschen
  56. Menü auswählen im ‘Seite Bearbeiten’
  57. Datenbank-Daten bei ‘Seite Bearbeiten’ verwenden
  58. Inhalt auslesen bei ‘Seite bearbeiten’
  59. ‘Seite Bearbeiten’ goes WYSIWYG
  60. Konfigurieren von WYSIWYG
  61. Seite speichern Teil1
  62. Seite speichern Teil 2
  63. Neue Links für CMS!
  64. Neues Menü erstellen
  65. Bugfix: Nur ein Menü auswählen
  66. Bugfix: Primary Key Meta-Tags
  67. Neue Seite anlegen Teil 1
  68. Neue Seite anlegen Teil 2
  69. Seite löschen
  70. Menüs löschen
  71. MySQL Tabellen auflisten für leichtere Administration
  72. Benötigte Klassen automatisch laden
  73. Tabellen auflisten mit Unterseiten
  74. Tabellennavigation der db.php
  75. MySQL Spalten auslesen und anzeigen
  76. EinstigspunktAktueller Stand Eigenes CMS
  77. Tabelle mit Daten befüllen
  78. Tabellenanzeige verschönern
  79. Bugfix: $dbpraefix wurde missachtet
  80. Aktionen & Checkbox Tabellenansicht
  81. Datensatz bearbeiten anzeigen
  82. Bugfix Tabellenansicht: Checkbox nicht Checkbar
  83. Validierung Datensatz bearbeiten
  84. Seitenwechel Tabellenansicht
  85. Speicherung Daten DBManager Teil 1
  86. Renner Bugfixes
  87. Sicherheitslücke in der Verzeichnisstruktur
  88. Speicherung Daten DBManager Teil 2
  89. Bugfix: Doppeltes Admin-Login
  90. Einstellungen speicherbar machen
  91. Upload-Script integrieren
  92. Order-Funktionalität
  93. Upload-Erweiterung
  94. Bildserver
  95. Admin-Bereich: Neues Menü + Dashboard
  96. Widget-System
  97. Logout + CustomCSS
  98. PluginInfos anzeigen
  99. EventManager
  100. Plugin (de)aktivierung (CMS)
  101. 100 Artikel CMS Tutorial (+Namensverkündung)
  102. Bugfix: Upload
  103. Events werfen Teil 1
  104. Events werfen Teil 2
  105. Events werfen Teil 3
  106. Basis des Installers
  107. Installer Schrittliste
  108. Installer mit Design
  109. Navigation des Installers
  110. Schrittfestlegung, Willkommenstext + Lizenz
  111. ContentLion Lizenz
  112. Systemcheck
  113. Datenbankeinstellungen
  114. Installer Formulare befüllen
  115. Website Einstellungen
  116. Datenbank-Einstellungen speichern
  117. Tabellen anlegen
  118. Zeilen Einfügen
  119. Installation entfernen
  120. Meta Daten erstellen Teil 1
  121. Meta Daten erstellen Teil 2
  122. Dateien löschen
  123. Ordner löschen
  124. Plugin Einstellungen
  125. Typisierte Einstellungen Teil 1
  126. Vorschaufunktion
  127. Typisierte Einstellungen Teil 2 + Bugfix
  128. ColorPicker
  129. MenüSelector
  130. SkinSelector Teil 1
  131. SkinSelector Teil 2
  132. Einstiegspunkt Datenbankklasse Teil 1
  133. Datenbankklasse Teil 2
  134. Datenbankklasse Teil 3
  135. Datenbankklasse Teil 4
  136. Datenbankklasse Teil 5
  137. Datenbankklasse Teil 6
  138. Datenbankklasse Teil 7
  139. Datenbankklasse Teil 8
  140. Datenbankklasse Teil 9
  141. Datenbankklasse Teil 10
  142. Datenbankklasse Teil 11
  143. Mobile CMS
  144. Mobile Skinselector
  145. Redirect nach Admin-Login
  146. Ordnerfunktion bei Seiten
  147. Globales Menü aus Einstellungen verbannen
  148. Skinspezifische Einstellungen
  149. Submenüs Teil 1
  150. Submenüs Teil 2
  151. EinstiegspunktUpdate Installer
  152. Template Engine
  153. Benutzerübersicht
  154. EinstiegspunktRole-Tabelle + Update Installer (CMS)
  155. Die Role Klasse
  156. Seitentypen Teil 1
  157. Seitentypen Teil 2
  158. Benutzer Login
  159. Rollenspezifische Einstellungen auslesen
  160. Rollenspezifische Einstellungen Speichern Teil 1
  161. Rollenspezifische Einstellungen Speichern Teil 2
  162. Rollenspezifische Einstellungen Speichern Teil 3
  163. Einführung Namespaces
  164. Globales Menü + Bugfix in Settings
  165. Template Overwriting
  166. Zugriffsverwaltung
  167. Seiten-Templates
  168. Mehrsprachigkeit
  169. Icon – Klasse
  170. Menü Templates Teil 1
  171. Menü Templates Teil 2
  172. Menü Templates Teil 3
  173. Templates Dateisystem
  174. Template Plugins
  175. Seitentyp Dashboard Teil 1
  176. Fazit ContentLion Live Vol. 1
  177. Bugfix Installer + Root-Verzeichnis speichern
  178. WidgetTypes
  179. Backend Skin
  180. Seitentyp Dashboard Teil 2
  181. Seitentyp Dashboard Teil 3
  182. Seitentyp Dashboard Teil 4
  183. Seitentyp Dashboard Teil 5
  184. Seitentyp Dashboard Teil 6
  185. Seitentyp Dashboard Teil 7
  186. Seitentyp Dashboard Teil 8
  187. Seitentyp Dashboard Teil 9
  188. EinstiegspunktWichtiges ContentLion Update
  189. EinstiegspunktPagelist Widget
  190. EinstiegspunktFilelist Widget
  191. EinstiegspunktContentlion warnungsfrei
  192. ContentLion zieht um! + weitere Neuerungen
  193. ContentLion funktioniert nun auch in Unterverzeichnissen!
  194. Menüauflistung im Dashboard
  195. Logout Button im Backend
  196. Breadcrumb im Backend
  197. Neues Backend Menu Teil 1
  198. Coding Guidlines für ContentLion
  199. Neues Backend Menu Teil 2 (+Gewinnspiel)
  200. Neues Backend Menu Teil 3
  201. ContentLion Updater
  202. Seitentyp Settings
  203. Seitentyp Plugins
  204. Fazit ContentLion Live Vol. 2
  205. Implementierung Standardskin Part 1
  206. Neuen Ordner erstellen
  207. Seitentyp Neue Seite erstellen
  208. Seitentyp “Seite bearbeiten”
  209. Seitentyp “Logout”
  210. Exception-System
  211. Überarbeitung Settings-Komponente
  212. Menüumzug ins neue Backend
  213. Übersetzung der Datenbankeinträge
  214. Seiten in Datenbank speichern
  215. ordner- und seitenspezifische Einstellungen
  216. Caching
  217. Settingswidget
  218. 2 Wireframes für ContentLion
  219. Rollenliste
  220. ContentLion IssueKiller-Woche beginnt!
  221. Geplante Tasks + Actionlists
  222. Wigets im Skin, Dateien umbenennen
  223. Die IssueKiller-Woche geht zu Ende…
  224. Zeitplan bis zur ContentLion Alpha
  225. Rollenveraltung
  226. Benutzerveraltung
  227. Prüfen ob SQLite vorhanden
  228. Plugineinstellungen
  229. ContentLion Website Designvorschlag
  230. Neue Pluginliste + Über-Seite
  231. Mediathek im FileListWidget
  232. Upload-Überprüfung
  233. ContentLion Alpha – Download jetzt!
  234. Plugin Wunschliste ContentLion
  235. Vorschlag für mehr Arbeitsfläche im ContentLion Backend
  236. ContentLion Alpha 1.1 kommt am 21. November
  237. ContentLion Alpha 1.1 ist raus!
  238. ContentLion KW 46/2010
  239. ContentLion KW 47/2010
  240. Formulare Erstellen mit ContentLion
  241. ContentLion KW 48/2010
  242. Fazit: Mein erstes Projekt mit ContentLion geht online
  243. ContentLion KW 51/2010
  244. ContentLion KW 52/2010
  245. ContentLion wird in Kürze selbst gehostet
  246. ContentLion KW 53/2010
  247. ContentLion Alpha 1.2 ist fertig!
  248. Entwurf: Skin-Wizard für ContentLion
  249. ContentLion Issues sind umgezogen!
  250. Tutorial: ContentLion erweitern
  251. Aufbau ContentLion eines ContentLion-Plugin
  252. ContentLion API – Erste Pläne
  253. ContentLion Blogs gehen online!

Das ist nicht das Ende der Entwicklung! Wir sind stetig dabei das CMS und seine Plugins weiterentwickeln und zu optimieren. Hilf doch mit!

Bild von SURZnet / Pixmac