richtlinien für plugins ?
richtlinien für plugins ?
gibts schon sowas irgendwo ? mich würds nämlich intressieren weitere externe anwendungen so in contenido einzubauen ohne sonderlich viel am grundsystem herumzuhacken... zB den eventkalender so einzubinden wäre ganz intressant...
abgesehen jetzt von config.plugin.php
zb automatische einbindung in die backend menüstruktur , sicherheitssystem etc...
ideal wäre ein plugin hello world beispiel...
ich schätze aber mal das ganze sollte so implementiert werden wie zb die module...
oben in der hauptnavigation eventuell unter extras / plugins
links eine auflistung der installierten plugins und rechts die weiteren einstellungen(konfiguration, optionen etc...)
abgesehen jetzt von config.plugin.php
zb automatische einbindung in die backend menüstruktur , sicherheitssystem etc...
ideal wäre ein plugin hello world beispiel...
ich schätze aber mal das ganze sollte so implementiert werden wie zb die module...
oben in der hauptnavigation eventuell unter extras / plugins
links eine auflistung der installierten plugins und rechts die weiteren einstellungen(konfiguration, optionen etc...)
gibts schon irgendein planungsstatium für: was der plugin installer können sollte ?
in welche ordner die plugins installiert werden sollten (oder extensions)...
ich werd mir sonst was eigenes schreiben (das know how dazu hab ich ja mittlerweile )
am ehesten werd ich aber alle php dateien für die plugins in der db abspeichern und dazugehörige images in contenido/external/plugins platzieren.
beim sicherheitssystem einbindung wird das vermutlich so aussehen wie bei den user, gruppen - bereiche
ein import und export der plugins wäre dann vermutlich ein leichtes (eventuell plugins als zip am server plazieren und dann entsprechend einzubauen, oder aufzuteilen)
damit hab ich dann aber sicher 1-2 wochen zu tun...
in welche ordner die plugins installiert werden sollten (oder extensions)...
ich werd mir sonst was eigenes schreiben (das know how dazu hab ich ja mittlerweile )
am ehesten werd ich aber alle php dateien für die plugins in der db abspeichern und dazugehörige images in contenido/external/plugins platzieren.
beim sicherheitssystem einbindung wird das vermutlich so aussehen wie bei den user, gruppen - bereiche
ein import und export der plugins wäre dann vermutlich ein leichtes (eventuell plugins als zip am server plazieren und dann entsprechend einzubauen, oder aufzuteilen)
damit hab ich dann aber sicher 1-2 wochen zu tun...
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
Die Plugins sollen im Ordner "plugins" abgelegt werden, die Datei "config.plugin.php" wird jeweils im Ordner "includes" ausgeführt. Beispiel:
Das Plugin "test" befindet sich in: plugins/test/
Dann wird plugins/test/includes/config.plugin.php ausgeführt.
Der Rest wird wie in Contenido selbst gehandhabt: Areas anlegen, Actions anlegen, Files und Framefiles anlegen usw usw.
Das Plugin "test" befindet sich in: plugins/test/
Dann wird plugins/test/includes/config.plugin.php ausgeführt.
Der Rest wird wie in Contenido selbst gehandhabt: Areas anlegen, Actions anlegen, Files und Framefiles anlegen usw usw.
also damit ich das richtig verstanden habe:
zB
in plugins/test/ (das wäre mein plugin ordner)
in plugins/test/incudes/config.plugin.php (meine konfigurationsdatei)
in plugins/test/templates/standard/ (meine template vorlagen)
in plugins/test/images/ (gfx)
in plugins/test/..../ (etc..)
und die sprachdateien auch
in plugins/test/locale/de_DE/LC_MESSAGES/test.po
korrekt ?
zB
in plugins/test/ (das wäre mein plugin ordner)
in plugins/test/incudes/config.plugin.php (meine konfigurationsdatei)
in plugins/test/templates/standard/ (meine template vorlagen)
in plugins/test/images/ (gfx)
in plugins/test/..../ (etc..)
und die sprachdateien auch
in plugins/test/locale/de_DE/LC_MESSAGES/test.po
korrekt ?
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
ja. Bis auf die config und die locale bist du da völlig frei. Was mir gerade einfällt: Möchtest du die Menüs in Contenido erweitern, mußt du in der DB den Filenamen davor setzen, beispiel:
test/xml/test.xml;navigation/test
Alles, was vor dem Semikolon steht, wird relativ zum Plugin-Verzeichnis gehandhabt.
test/xml/test.xml;navigation/test
Alles, was vor dem Semikolon steht, wird relativ zum Plugin-Verzeichnis gehandhabt.
okay soweit so gut...timo hat geschrieben:ja. Bis auf die config und die locale bist du da völlig frei.
die templates die ich mir dann baue kann ich dann in der config.plugin.php definieren (so wie es momentan in der config.php gemacht wurde) okay das krieg ich hin...
okay das wird in der class.navigation.php aufgesplittet...timo hat geschrieben: Was mir gerade einfällt:
Möchtest du die Menüs in Contenido erweitern, mußt du in der DB den Filenamen davor setzen, beispiel:
test/xml/test.xml;navigation/test
Alles, was vor dem Semikolon steht, wird relativ zum Plugin-Verzeichnis gehandhabt.
die einzige unterschied bei plugins ist der geänderte verweiss in der con_sub_nav (welcher das xml file einbindet) alles weitere wie actions, areas, frame_files wie bisher...
wie siehts den bei der con_files aus ? wird automatisch erkannt dass, das include sich auf das plugins/test/includes/ bezieht oder muss ich dort den pfad auf ../plugins/test/includes/ voranstellen ?
oder noch besser bezieht sich das location in con_actions auf das plugins verzeichniss wo gesucht werden soll (das würde sinn ergeben) ?
hab das mal jetzt zusammengestellt:
richtlinien zusammenfassend:
plugins für contenido:
platziert unter
contenido/plugins/XXX/
zwingend erforderlich:
contenido/plugins/XXX/includes/config.plugin.php
-> definitionen für $cfg['templates'], $cfg["tab"], $lngAct
contenido/plugins/XXX/locale/de_DE/LC_MESSAGES/XXX.po
-> sprachdefinition für plugin XXX
weitere subordner frei in XXX plazierbar...
zur einbindung in die menüstruktur backend db
eintrag in der con_sub_nav nach muster
XXX/xml/lang_de_DE.xml;navigation/XXX
-> erster teil relativ vom plugins verzeichnis ausgehend seperator ; (siehe class.navigation.php)
verweise in con_actions, con_area, con_frame_files wie bisher...
verweise in con_files bei name zb
XXX/includes/functions.XXX.php
mit bitte um korrektur...
richtlinien zusammenfassend:
plugins für contenido:
platziert unter
contenido/plugins/XXX/
zwingend erforderlich:
contenido/plugins/XXX/includes/config.plugin.php
-> definitionen für $cfg['templates'], $cfg["tab"], $lngAct
contenido/plugins/XXX/locale/de_DE/LC_MESSAGES/XXX.po
-> sprachdefinition für plugin XXX
weitere subordner frei in XXX plazierbar...
zur einbindung in die menüstruktur backend db
eintrag in der con_sub_nav nach muster
XXX/xml/lang_de_DE.xml;navigation/XXX
-> erster teil relativ vom plugins verzeichnis ausgehend seperator ; (siehe class.navigation.php)
verweise in con_actions, con_area, con_frame_files wie bisher...
verweise in con_files bei name zb
XXX/includes/functions.XXX.php
mit bitte um korrektur...
eine paar sachen sind mir jetzt noch nicht klar...
betreffend xml file gibt es da eine automatische unterscheidung zwischen en_US de_DE oder steht nur eine sprache zur verfügung für die hauptnavigation ? (momentan ist das zwar egal, aber na ja)
und bei einbindung eines plugins in die navigationsstruktur wäre dies immer der letzte menüpunkt ? (mittlerweile hasse ich das nav system)
dass mit dem installer ist an sich das intressanteste an dieser geschichte da dieser für die db einträge sorgen muss...
ich werd mal schauen ob ich ein hello world example plugin hinbekomme...
die frage ist nur ab welcher contenido version dies dann funktionieren wird... vielleicht schon ab 4.2.2 ?? mal sehen...
betreffend xml file gibt es da eine automatische unterscheidung zwischen en_US de_DE oder steht nur eine sprache zur verfügung für die hauptnavigation ? (momentan ist das zwar egal, aber na ja)
und bei einbindung eines plugins in die navigationsstruktur wäre dies immer der letzte menüpunkt ? (mittlerweile hasse ich das nav system)
dass mit dem installer ist an sich das intressanteste an dieser geschichte da dieser für die db einträge sorgen muss...
ich werd mal schauen ob ich ein hello world example plugin hinbekomme...
die frage ist nur ab welcher contenido version dies dann funktionieren wird... vielleicht schon ab 4.2.2 ?? mal sehen...
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
Bei den Actions weiß ich das nicht, aber bei den Files reicht "test/includes" (sobald ein slash darin vorkommt, wird relativ vom Plugin-Verzeichnis gesucht).emergence hat geschrieben: wie siehts den bei der con_files aus ? wird automatisch erkannt dass, das include sich auf das plugins/test/includes/ bezieht oder muss ich dort den pfad auf ../plugins/test/includes/ voranstellen ?
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
Leider derzeit noch nicht.emergence hat geschrieben:betreffend xml file gibt es da eine automatische unterscheidung zwischen en_US de_DE oder steht nur eine sprache zur verfügung für die hauptnavigation ? (momentan ist das zwar egal, aber na ja)
Die Menüpunkte werden nach ID's sortiert. Ja, ich mag das System auch nicht so - hätte man einfacher realisieren können...und bei einbindung eines plugins in die navigationsstruktur wäre dies immer der letzte menüpunkt ? (mittlerweile hasse ich das nav system)
na ja, also in der class.navigation.php nach durchsicht des codes könnte man das ganz einfach einbauen, in dem man sich $cfg['lang'][$belang] bedient...timo hat geschrieben:Leider derzeit noch nicht.
$file = trim($locs[0]);
wäre dann nur der pfad zum plugin xml file also (XXX/xml/;navigation/XXX)
die zeile die das file dann laden würde, würd' dann so aussehen:
$plugxml->load($cfg["path"]["plugins"].$file.$cfg['lang'][$belang]);
die language files wären dann von der namensbezeichnung ident wie in der config.php definiert... also ich könnt damit leben
blöde frage, bevor ich jetzt lange herumprobiere
das xml file für den menüpunkt sagen wir mal extras/helloworld würde so aussehen...
sagen wir das file liegt in plugins/XXX/xml/language.xml
wäre der eintrag in die con_sub_nav folgender
XXX/xml/language.xml;navigation/extra/helloworld
korrekt oder hab ich da was vergessen ?
das xml file für den menüpunkt sagen wir mal extras/helloworld würde so aussehen...
Code: Alles auswählen
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Contenido XML language file -->
<language>
<navigation>
<extra>
<helloworld>Hello World</helloworld>
</extra>
</navigation>
</language>
wäre der eintrag in die con_sub_nav folgender
XXX/xml/language.xml;navigation/extra/helloworld
korrekt oder hab ich da was vergessen ?