CMS mit Plugins erweitern - Grundgedanke

09/05/2012 11:29 tayfe#1
Hi :)

Ich habe mir mal überlegt, vielleicht mal ein CMS zu programmieren, um ein bischen meine Designkünste zu erweitern. Dabei habe ich mir ein paar Gedanken zu einem möglichen CMS gemacht und bin dabei auch auf ein Problem gestoßen:

Viele CMS von heute bieten die Möglichkeit an, das CMS per Plugins zu erweitern. Da wollte ich jetzt mal wissen, wie das prinizpiell funktionieren soll (mehr so vom Gedankengang her als direkt vom programmiertechnischen).

Ich glaube eh, dass ich mich im Bereich von PHP mal wieder etwas weiterbilden sollte. Bisher habe ich immer nur ganz stur von oben nach unten eine Seite runterprogrammiert. Funktionen nutze ich nur sehr selten und Objektorientierte programmierung zumindest bei PHP gar nicht. Wenn ich jetzt ein neues Feature in meiner Homepage haben wollte, habe ich bisher immer einfach die ganzen Seiten genommen und einfach alle passend direkt im Quelltext umgeschrieben. Das soll aber ja natürlich nicht das Ziel von Plugins sein.

Kann mir vielleicht bitte mal jemand sagen, wie so etwas prinzipiell funktioniert (vielleicht auch mit kleinen Codebeispielen?)?

Und ich hätte gleich noch eine zweite Frage: Kennt jemand von euch ein gutes Tutorial, dass sich am aller besten direkt mit dem Programmieren eines CMS beschäftigt?

Und auch um das gleich noch im Voraus zu sagen: Ich habe Erfahrung mit PHP und MySQL und bin auch prinzipiell in der Lage, ein CMS zu programmieren bzw. habe auch schon ein Forum (was ja in die Richtung geht) programmiert. Daran sollte es also nicht scheitern. Ich verfolge vielmehr das Ziel, mein PHP-Programmierstyle zu verbessern (Objektorientierte programmierung?) und dabei meine HTML und CSS Kenntnisse stark zu verbessern.

Mfg Tayfe
09/05/2012 13:38 マルコ#2
Bei einem CMS würde ich OOP verwenden. Plugins können genutzt werden, um den Inhalt der Website im Nachhinein zu ändern, oder, wie bei WP, dass ein Plugin irgendwas an eine vom CMS vorgegebene Stelle auf der HP schreibt. Eventuell kann ein Plugin auch Funktionen hinzufügen. (Bestimmt gibt es noch mehr Möglichkeiten, fallen mir grad aber spontan nicht ein).
Ein Tutorial? Google doch. Schau z.B. mal hier, das sieh relativ gut aus vom Umfang her:
[Only registered and activated users can see links. Click Here To Register...]
09/05/2012 14:49 Aparello#3
Wozu willst du ein CMS programmieren?
09/05/2012 17:42 tayfe#4
Danke マルコ! Ich habe bereits mehrfach gegoogelt, bin aber meist nur auf irgendwelche Foren gestoßen, in denen es viele Fragen, aber leider keine Antworten gibt. Das Tutorial sieht auf jeden Fall sehr gut aus! :)

Quote:
Wozu willst du ein CMS programmieren?
Ich hatte mir überlegt, mal wieder meine PHP Kenntnisse der "aktuellen Entwicklung" anzupassen (OOP) und auch meine HTML & CSS Kenntnisse stark zu verbessern (kann bisher fast nichts ...). Da dachte ich, wäre ein kleines CMS keine schlechte Idee. Dabei lernt man viel und man kann es dann auch noch weitergeben, so dass auch andere etwas davon haben ;)
09/06/2012 23:44 Aparello#5
Okay, weil CMS kein einfaches Thema ist :)
Aber trotzdem viel Erfolg und Spaß dabei :)
09/07/2012 08:15 yym3#6
Du kannst ja einstellen, dass die Plugins in einem "Plugin" Ordner geladen werden und durch ein Script automatisch gesteuert werden bzw. aufgerufen. Wenn du eine Datei überschreibst, würde ich die Quelldatei irgendwo anders speichern. Die jeweiligen Plugins speicherst du irgendwo ab, sprich den Namen des Plugins (sinnvoll ist es ja in der Datenbank). So kannst du wenn du ein Plugin löschen willst es einfach mit paar Klicks machen und das was du gesichert hattest wird einfach wieder zurückgesetzt als die original Datei.

Keine Ahnung ob meine Gedankenflüsse umständlich sind und sinnvoll, aber liegt ja an dir^^.


Gruß
yym3.
09/07/2012 19:57 Fratyr#7
Hooks verwenden, macht Joomla glaube(!) ich auch. CodeIgniter unterstützt das ebenfalls, falls du wissensdurstig bist wie die das realisiert haben kannst du dir ja mal deren Userguide durchlesen ([Only registered and activated users can see links. Click Here To Register...]) oder den Sourcecode studieren ([Only registered and activated users can see links. Click Here To Register...]).
09/07/2012 20:38 boxxiebabee#8
[Only registered and activated users can see links. Click Here To Register...] & [Only registered and activated users can see links. Click Here To Register...]