Eigenes CMS + Module

alex130

Erfahrenes Mitglied
Hallo,
ich habe für Testzwecke ein eigenes CMS geschrieben, nun hab ich ein Problem, schnell habe ich gemerkt, dass ein CMS ohne Module nicht sehr gut ist, nun meine Frage, wie könnte man das mit Modulen umsetzen?
Danke
 
Hi,

Module sind ja in dem Fall nichts anderes wie einzelne Skripte, die irgendetwas können... Sei es ein Newsscript, ein Gallery-Script, Artikelscript oder schlicht ein Impressumsscript. Alles ist nachträglich einpflanzbar :) Wenn man sich phpBB oder wBB ansieht, muss man die Module ja auch teilweise in andere Scripte implantieren und bei SMF geht das automatisch, weil dort ich gehe mal davon aus immer ein Skript bei ist, das die Schnipsel entsprechend in die anderen Skripte einsetzt.

Greetz
ToXiC
 
Hallo,
danke für deine Antwort, also dass es nur Scripte sind weiß ich eh, ich weiß auch z.B. dass ich sie einfach auslesen, kann also, welche Module im /module Ordner sind, aber ich hab irgendwie nicht ganz verstanden, wie ich das umsetze mit der Datenbank und mod_rewrite...
 
Hi,

habe es auch mal versucht, hatte dann aber irgendwann keine Lust mehr.

Ich glaube am einfachsten ist es wie Typo3 es macht.
Du machst eine Tabelle Content wo du die Inhalte zu den einzelnen Seiten speicherst:

Pages:
ID | Name

Content:
ID | Page ID | Text | Modul | Order

Dann hast du ne Modul Tabelle
Modules:
ID | Pfad | Modulname

Dann kannst du jetzt in den einzelnen Seiten Inhalte anlegen die nachher einfach in einer Schleife ausgegeben werden.

In Pages folgendes
ID | Name
1 | News

Dann hast du zum Beispiel in der Tabelle "Content" folgenden Eintrag:
ID | Page ID | Text | Modul | Order
1 1 Willkommen | NULL | 1
2 1 | NULL | 1 | 2

In der Modules Tabelle folgendes
ID | Pfad | Modulname
1 | news/index.php | News Modul



Würde auf der News Seite folgendes Ergeben:
Willkommen

[Newsscript ausgabe]


Hoffe das war schlüssig.:)
 
Du könnstest z.B. eine tabelle in der db anlegen, die die ganzen mods mit namen, version und dem dateinamen beinhaltet. Dem entsprechend wir dann immer alles geladen.
 
Danke, dass Bsp. oben ist sehr gut, so werde ich es wahrscheinlich machen.
Allerdings habe ich noch ein Problem, meine Templates liegen im Ordner /includes/templates/%TEMPLATE NAME%/templates/
Soll ich die Modul templates dann dort rein kopieren, oder im Modul ordner z.B. "News" einen Templates Ordner erstellen?
Außerdem muss ich das ganze Modul in eine Datei schreiben, oder?
 
Wo du die Templates speicherst is letztendlich egal. Da musst du dann gucken, was dir von der Struktur her am Besten gefällt :)

Ein Modul kann auch mehrere Dateien haben... Aber ich hab noch nie mehr wie eine Dtei für ein Script gemacht ^^ Deswegen sehe ich darin keinen Sinn außer du machst evtl. eine Hauptdatei wie z.B. news.php und inkludierst dort dann zu den entsprechenden Aktionen (Codewort: $_GET[]...) dann Unterscripte wie speichern.php, bearbeiten.php, löschen.php... und setzt in diese unterscripte halt nur die einzelnen Aktionen rein.

Struktur:
localhost/cms/module/news/
bearbeiten.php
loeschen.php
news.php
speichern.php

Wäre eine Möglichkeit, aber eigentlich nicht notwendig, weil alles in einem Script auch funktioniert :)

Greetz
ToXiC
 
ToXiC24 hat gesagt.:
Wäre eine Möglichkeit, aber eigentlich nicht notwendig, weil alles in einem Script auch funktioniert
Wird sehr unübersichtlich mit einer Datei.. Spätestens ab den ersten 100 Zeilen..

Also ich würde es anders machen:

root
-- include
---- modules
------ module_name
-------- templates
---- deine anderen ordner
-- templates
---- template_name

Dann hast du alles beisammen.
in modules kommen dann die .php/* dateien und die template dateien des moduls die kannst du dann easy laden. (glaub ich)
 
Zuletzt bearbeitet:
danke ihr seid mir wirklich ein große Hilfe :)
Somit hätte ich den Frontend Teil, aber wie würdet ihr das Backend machen?
Einfach nen Admin Ordner rein machen?
 
Im Admin menü würd ichs jenachdem machen, für wen du die Seite machst.

Am Besten einfach so eine 2 spaltige Darstellung, links die Menüpunkte rechts die Inhalte:

Navi: Inhalte
News | Neuen Inhalt hinzufügen
Biografie |
Links | //Vorhandene Inhalte anzeigen lassen
Fotos |
Kalendar |


Neuen Inhalt hinzufügen
-Text
-Modul

Und so weiter.
Dann vielleicht noch ne Funktion dass man Module de/aktivieren kann. Sei kreativ, kannste jeden schei* machen ;)
Kannst auch Module vorfertigen und runterladen lassen vonnem lokalen Server.
 
Zurück