Klassen für Module Einbinden

Hallo,

und zwar möchte ich für mein Modul einige Util-Klassen einbinden.

metadata.php:


[...]
$aModule = array(
    'id'           => '***',
    'title'        => '*** Modul',
    'description'  => 'Modul zum Freigeben von Inhalten für Benutzer nach einem Bestellvorgang.',
    'thumbnail'    => 'picture.png',
    'version'      => '1.0',
    'author'       => '***',
    'extend'       => array(
        'oxuser' => '***/klpuser',
    	'oxorder' => '***/klporder'
    ),
	'files' 	   => array(
		'Log' => '***/utils/log.php'
	)
);

( *** = zensiert :slight_smile: )

Ohne die Log Klasse hat alles funktioniert wie ich wollte, aber nun kommt das hier:

Class ‘Log’ not found

Die Datei befindet sich am richtigen Ort also unter “modules/***/utils/log.php”.

Wo ist der Fehler?

Viele Grüße

eventuell hat OXID die Moduleinträge nicht aktualisiert, weil du deine Klasse erst nachträglich aktualisiert hast. Schau mal nach ob deine Klasse im oxconfig in aModuleFiles vorhanden ist.
Und prüfe zur Sicherheit nach ob du in log.php "class Log extends … " auch mit einem großen L geschrieben hast

schreibt man “Log” wirklich groß?

edit: oh - vanilla war schneller…

Da wo ich herkomme, ist es gewöhnlich Klassennamen mit Großbuchstaben beginnen zu lassen :slight_smile:

Wie prüfe ich, “ob meine Klasse im oxconfig in aModuleFiles vorhanden ist”?

[QUOTE=kgoettsch;122338]Wie prüfe ich, “ob meine Klasse im oxconfig in aModuleFiles vorhanden ist”?[/QUOTE]

Wahrscheinlich musst Du den Wert zunächst de-serialisieren.

Gruß

Nein, eher so:

<?php
require_once dirname(__FILE__) . "/bootstrap.php";

$myConfig = oxRegistry::getConfig();
header('Content-Type: text/plain');
var_dump($myConfig->getConfigParam('aModuleFiles'));