[QUOTE=vanilla thunder;162011]wenn du in die Modulverwaltung gehst, schlägt OXID dir vor irgendwelche Einträge für ein nicht existierendes Modul wieder zu entfernen?[/QUOTE]
Hallo vanilla thunder.
Nein, da ist alles in Ordnung. Ich kriege eine Liste aller installierter Shop-Module angezeigt.
[QUOTE=leofonic;162029]Kann da nicht so ganz folgen. ‘aDisabledModules’ ist denke ich dafür da fehlerhafte Module zu deaktivieren. Wenn ein Modul da drin ist, kann es nicht mehr aktiviert werden denke ich (Einträge unter “installierte Module” erscheinen durchgestrichen).
Es gibt da einige Config-Variablen bei denen leicht etwas durcheinander kommt wenn man z.B. ein Modul umbenennt. Dann kann man am besten alles zurücksetzen.
Du kannst folgendes SQL ausführen: DELETE FROM oxconfig WHERE OXVARNAME LIKE '%module%'
Dann direkt /tmp leeren und alle eigenen Modulordner löschen. Module-Seite im BE aufrufen und “Einträge löschen” wählen. Dann die Module wieder neu installieren.[/QUOTE]
Hallo leofonic,
aus dem Quellcode und der objektiven Funktionsweise habe ich interpretiert, dass ‘aDisabledModules’ angibt, welche Module aktuell deaktiviert sind.
Im Prinzip ist mein anliegen folgendes gewesen:
Ich habe ein Modul, welches auf einige Bestandteile von OXID zurückgreift, Daten verarbeitet und mir am Ende ein Protokoll der Ergebnisse in einer Datei ablegt.
Wenn das Modul nicht aktiv ist, kann es nicht auf die Bestandteile von OXID zurückgreifen. Deshalb habe ich eine Prüfung integrieren wollen, welche selbiges prüft- ob das Modul aktiv.
Hierfür griff ich auf die die Methode “isModuleActive” in der Klasse “oxViewConfig” zurück.
Bei der Methode wird u.a. geprüft, welche Module existieren (Methode: _moduleExists). Diese Methode sagt allerdings immer, dass mein Modul nicht existiert. Um mein obiges Beispiel aufzugreifen:
[oxorder] => oe/invoicepdf/models/invoicepdfoxorder
[order_overview] => oe/invoicepdf/controllers/admin/invoicepdforder_overview
[oxlang] => testId/core/w2OxLang
Dieses Array (im obigen PHP Tag, im nachfolgenden $aModules genannt) liest die Methode ("_moduleExists") in einer Schleife aus und prüft, ob die Module ID (in meinem Fall “testId”) zwischen zwei Slashes vorhanden ist:
foreach ($aModules as $sExtendPath)
{
if (false !== strpos($sExtendPath, '/' . $sModuleId . '/')) {
$blModuleExists = true;
break;
}
}
Nun habe ich allerdings keine Ahnung, wo ich einen Fehler gemacht habe ODER aber, ob dieser 1. Slash bei der Prüfung ein Fehler ist.
Wenn ich einzeln über die Konfigurationsvariable “aDisabledModules” nach meinem Modul schaue, wird korrekt erkannt, ob es aktiviert oder nicht aktiviert ist.
Ich hoffe, mein Anliegen wurde deutlicher 
Beste Grüße,
Cryv