Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 28. Januar 2013 17:40
- Jim
- hat von CMS/ms gehört
- Registriert: 28. Januar 2013
- Beiträge: 2
Ich entwickel ein Modul
Hallo,
ich bin auf der Suche nach einem CMS für das ich meine PHP Scripte als Modul anbieten kann.
Meine Frage ist ich habe jetzt z.b. ein Fahrtenbuch als Fertiges PHP script.
Nur wie entwickelt ich jetzt aus dem fertigen Script ein Modul für CMS.MS?
Muss ich alles neuschreiben oder einfach meinen Code erweitern?
Habe noch nie ein Modul gescchrieben - immer nur Stand.alone scripte.
Offline
#2 28. Januar 2013 20:26
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.437
Re: Ich entwickel ein Modul
Hallo und willkommen im Forum.
Man entwickelt ein Modul für ein System meistens, indem man an bestimmten dafür vorgesehenen Schnittstellen ansetzt. Diese Schnittstelle nennt sich API. Und ansetzen tut man, indem man von einer für solche Zwecke geschaffene Klasse seine eigene Klasse ableitet bzw. einer vorgegebenen Verzeichnis-/Dateistruktur folgt. Das ist im Prinzip eigentlich bei jedem System ähnlich, das sich erweitern lässt.
Bei CMSms fängt man für Module immer so an:
- erstelle im Modulverzeichnis ein Verzeichnis mit dem exakten Namen Deines Moduls (auf Groß- und Kleinschreibung achten)
- erstelle in diesem Verzeichnis eine php-Datei mit dem Namen
[Modulname].module.php
Am Ende sollte es also so aussehen
/modules/[Modulname]/[Modulname].module.php
In dieser php-Datei schreibst Du eine PHP-Klasse, die ebenfalls den exakten Namen Deines Moduls hat und von der Klasse CMSModule abgeleitet wird:
class [Modulename] extends CMSModule
{
...
}
In dieser Klasse legst Du einige Basiseigenschaften Deines Moduls fest.
Welche das sind, kannst Du z.B. in der API Dokumentation nachlesen (links auf CMSModule klicken). Das sind z.B. Methoden, die Du verwenden kann, um z.B. auf CMS Funktionen zuzugreifen. Einen guten Einstieg bot bislang das Modul Skeleton. Das ist ein Dummy-Modul mit dem mit Hilfe von Kommentaren im PHP Code der Aufbau eines Moduls erklärt wird. Ich weiß allerdings nicht, ob es mit der aktuellen CMSms Version kompatibel ist.
Ich kenne jetzt Dein Fahrtenbuch nicht - was es alles macht bzw. was es alles benötigt - aber Du wirst vermutlich Datenbanktabellen und Userinterface brauchen, die nach einem bestimmten Schema aufgebaut sind. Diese müsstest Du mit Hilfe der API nachbauen, damit sich Dein Modul nahtlos ins CMS einfügt. Natürlich könntest Du auch in der Modulklasse Deine eigenen Scripte einfach mit include einbinden, aber wie gesagt, ich kenne Deine Scripte nicht und welche Möglichkeiten Du eingebaut hast, um auf diese Weise eingebunden werden zu können (irgendwie muss man ja eine Verknüpfung zum Backenduser herstellen um z.B. Login/Benutzergruppe/Berechtigungen etc. prüfen zu können oder Verbindung mit der CMS-Datenbank herstellen zu können).
Ich kann jetzt pauschal nicht sagen, ob Du alles, nur Teile oder evtl. sogar gar nichts neu schreiben musst. Wenn Du fit in PHP und OOP bist, dann schau Dir einfach mal ein fertiges Modul an. Z.B. News, ListIt oder btAdminer. Ersteres ist ein Core-Modul, das zweite von Usern aus der Community - beide Module bieten eine Art Artikelverwaltung und wurden explizit für CMSms gechrieben. Letzteres (btAdminer) bindet hingegen die Funktionen von Adminer mit relativ wenig Aufwand ins CMS ein. Ähnliches gibt es auch für phpMyAdmin. Es gibt also verschiedene Wege um das CMS um Funktionen zu erweitern. Welcher der bessere ist, musst Du vermutlich selbst entscheiden.
Vielleicht gibt Dir das ja schonmal ein wenig Inspiration.
Falls nicht, weiterfragen
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 28. Januar 2013 21:58
- Jim
- hat von CMS/ms gehört
- Registriert: 28. Januar 2013
- Beiträge: 2
Re: Ich entwickel ein Modul
Okey, danke. Werde mir dann mal module anschauen und auch die Doku.
Offline
#4 27. Februar 2013 10:12
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Ich entwickel ein Modul
Alternativ gibt es auch Modulgeneratoren wie CTLMM, Module Maker oder MCFactory ...
Offline
Seiten: 1