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.