Prüfung auf aktiviertes Modul

Wie kann man einfach und elegant im Code prüfen, ob ein Modul aktiviert ist oder nicht?

Dankbar für Hinweise,
butz79

You can check under Extension >> Modules. If it is activated, it will marked with green right mark icon

Ich meinte natürlich: Wie kann ich das im Code prüfen? In der Admin bekomme ich das schon hin ;).

1 Like

Probier mal das hier: OxidEsales\EshopCommunity\Core\Module\Module::isActive ()
https://docs.oxid-esales.com/sourcecodedocumentation/6.1.5/class_oxid_esales_1_1_eshop_community_1_1_core_1_1_module_1_1_module.html#aa0079c3f809df3a90dcb4d08947ed560

Es gibt mehere mörglichkeiten. Eine finde ich ganz interressant. Wenn man weiss, dass ein object ne neue Funktiontion erhält sobald das Module aktive ist.

if (method_exists($user, 'getMethodOfModule')) {
  $user->getMethodOfModule() 
}

Eine weitere Möglichkeit ist die Methode isModuleActive in der ViewConfig Klasse. Hier gibt man als Parameter einfach die ID des Moduls mit und bekommt dann true oder false zurück.
Kann entweder direkt in Templates verwendet werden
[{if $oViewConf->isModuleActive('module_id')}]
oder auch direkt im PHP Code. Hier muss man sich dann zunächst eine Instanz der ViewConfig Klasse holen.

Grüße
Fabian