Backend-Theme und Einbindung von JS und CSS
Verfasst: Mi 8. Jan 2014, 13:22
ich denke mal, dass die Funktion dafür etabliert wurde, um dem Backend oder einzelnen Plugins die Möglichkeit eines alternativen Erscheinungsbilde zu bieten?
Irgendwie finde ich die Struktur aber recht unübersichtlich, da ich erwarten würde, alles Ladoutspezifische im Verzeichnis /templates vorzufinden. Etwa in dieser Struktur:
Das bringt den Vorteil mit, dass insofern man ein Plugin mit einem eigenen Theme versehen will, dies einfach als neuen Ordner einbindet und halt lediglich in einer Config-Datei den Wert von "standard" auf "myTheme" ändert.
So kann man Themes dann auch einfacher portieren auf andere Contenido-Systeme.
Derzeit ist die Struktur für Plugins ja so angelegt, dass - insofern in /myplugin/styles und myplugin/scripts eine Datei mit der Namensnennung vom Schema:
enthält, diese automatisch geladen wird. Gute Überlegung, tolles Feature.
Möchte man ABER über cGuiPage via
ein weiteres Stylesheet hinzufügen, MUSS es in myplugin/styles liegen, oder man muss es vom "styles"-Verz. aus referenzieren (../templates/css/myStyle.css).
Ich möchte Anregen, die Struktur etwas aufzuräümen und ein Template einen eigenen Ordner, inkl. css, js, image Unterverz. zu geben. Das vereinfacht auch die Einarbeitung in die Pluginentwicklung und man Blickt schneller durch bei den Strukturen - ganz abgesehen von der Modularität, die dadurch geschaffen wird.
Benennung
Das Verzeichnis unter templates heißt standard, und wird auch von einigen Klassen so erwartet. Hier würde ich mir "default" wünschen - wie die Benennung sich eigentlich etabliert hat.
In der config.plugin.php kann man dann das Plugin durch einmalige Zuweisung fürs Gesamte Plugin einfach ändern:
Eine kurze Volltextsuche ergibt, dass Beispielsweise in etlichen Klassen eine harte Verdrahtung enthalten ist. Diese müsste dann gegen eine Variable ausgetauscht werden, die dann an den jeweiligen Source-Code-Stellen eingefügt werden müsste.
Irgendwie finde ich die Struktur aber recht unübersichtlich, da ich erwarten würde, alles Ladoutspezifische im Verzeichnis /templates vorzufinden. Etwa in dieser Struktur:
Code: Alles auswählen
|_/templates
|_/standard
|_/css
|_/img
|_/js
So kann man Themes dann auch einfacher portieren auf andere Contenido-Systeme.
Derzeit ist die Struktur für Plugins ja so angelegt, dass - insofern in /myplugin/styles und myplugin/scripts eine Datei mit der Namensnennung vom Schema:
Code: Alles auswählen
*.<pagename>.js
*.<pagename>.css
Möchte man ABER über cGuiPage via
Code: Alles auswählen
$page->addStyle();
Ich möchte Anregen, die Struktur etwas aufzuräümen und ein Template einen eigenen Ordner, inkl. css, js, image Unterverz. zu geben. Das vereinfacht auch die Einarbeitung in die Pluginentwicklung und man Blickt schneller durch bei den Strukturen - ganz abgesehen von der Modularität, die dadurch geschaffen wird.
Benennung
Das Verzeichnis unter templates heißt standard, und wird auch von einigen Klassen so erwartet. Hier würde ich mir "default" wünschen - wie die Benennung sich eigentlich etabliert hat.
In der config.plugin.php kann man dann das Plugin durch einmalige Zuweisung fürs Gesamte Plugin einfach ändern:
Code: Alles auswählen
// Template
$plugin_name = "myPlugin";
$tplName = "myNewNiceTheme"; // define Template-Folder
// paths
$cfg['plugins']['cT'] = cRegistry::getBackendPath() . "plugins/" . $plugin_name . "/";
$cfg['plugins']['cT']['img'] = $cfg['plugins']['cT']."/templates/".$tplName."/img/";
....
...
Eine kurze Volltextsuche ergibt, dass Beispielsweise in etlichen Klassen eine harte Verdrahtung enthalten ist. Diese müsste dann gegen eine Variable ausgetauscht werden, die dann an den jeweiligen Source-Code-Stellen eingefügt werden müsste.