Seite 1 von 1

Verbessertes cinclude in Modulen

Verfasst: Mo 10. Dez 2018, 15:57
von bodil
Wenn man innerhalb eines Moduls eine Datei einbinden will, die im selben Modulverzeichnis liegt, dann sieht das z. B. so aus:

Code: Alles auswählen

cInclude('frontend', 'data/modules/content_search_results/php/class.module.search_result.php');
Der offensichtlichste Nachteil dieser Methode ist, dass das Modul nicht umbenannt werden darf. Der Verzeichnisname würde sich ändern, somit wäre der Pfad falsch, über den die Datei eingebunden wird.
Unabhängig von der technischen Realisierbarkeit fände ich besser, etwas derartiges würde funktionieren:

Code: Alles auswählen

cInclude('thisModule', 'php/class.module.search_result.php');
Grüße!
Bodil

Re: Verbessertes cinclude in Modulen

Verfasst: Mo 10. Dez 2018, 17:14
von Faar
Probiere das mal:

Code: Alles auswählen

$myModul = new cModuleHandler($cCurrentModule);
$phpPfad = $myModul->getPhpPath();
echo $phpPfad;
Ansonsten hier durcharbeiten:
https://docs.contenido.org/display/CONDEVE/cRegistry
https://api.contenido.org/latest/class- ... ndler.html

Re: Verbessertes cinclude in Modulen

Verfasst: Mo 10. Dez 2018, 17:36
von bodil
Oder so! Vielen Dank!

Re: Verbessertes cinclude in Modulen

Verfasst: Di 11. Dez 2018, 23:34
von xmurrix
Hallo bodil,

will man im Modul PHP-Sourcen einbinden, die auch im gleichen Modulverzeichnis liegen, kann man das folgendermaßen machen:

Code: Alles auswählen

cInclude('module', 'class.module.search_result.php');
Der Kontext ist dabei das Modul, in der die cInclude() Funktion verwendet wird, und die einzubindende Datei muss sich innerhalb des php-Ordners des Moduls befinden.

Gruß
xmurrix

Re: Verbessertes cinclude in Modulen

Verfasst: Mi 12. Dez 2018, 08:37
von bodil
Hallo xmurrix!
Das ist ja genau das, was ich gesucht hatte ... vielen Dank!
Vielleicht sollte man das in den Beispielmodulen so einbauen?
Viele Grüße!
bodil

Re: Verbessertes cinclude in Modulen

Verfasst: Fr 15. Mär 2019, 22:06
von xmurrix
Für die Verwendung von cInclude() in Modulen gibt es ein Ticket:
https://issues.contenido.org/browse/CON-2775

Grüße
xmurrix