contao/test — Issue #2043: Abhängigkeiten bei Erweiterungen
Author: importer
Created: 2011-11-29 09:01:26+00:00
State: open
Labels: Accepted, Feature, framework

Hallo,

Es wäre nett, wenn man für Erweiterungen bzw. Module Abhängigkeiten definieren könnte und diese dann zumindest beim laden der DCAs eingehalten werden.
Ich weiß das man dies durch "geschickte" Benennung der Module erreichen kann, aber das kann auf Dauer keine Lösung sein und könnte einer größeren Erweiterungsvielfalt im Wege stehen.

Im Anhang findet sich ein erster Lösungsvorschlag der die Klasse Config um die Methode "resolveDependencies()" erweitert. Diese wird am Ende von "getActiveModules()" und im Konstruktor von Config aufgerufen. Die Methode cacht das berechnete Array und erstellt es nur dann neu, wenn neue aktive Module hinzugekommen oder weggefallen sind.
Der Quellcode ist noch etwas "verbose" und der Algorithmus ist sicherlich nicht der beste, aber in ersten einfachen Tests funktioniert diese Variante.
Um eine Abhängigkeit zu definieren muss innerhalb der config.php der abhängigen Erweiterung das globale Array "TL_DEPEND" in folgender Form erweitert werden:

```
$GLOBALS['TL_DEPEND'][_modulname_] = array('news', ...); // macht _modulname_ von der Erweiterung 'news' abhängig
```

Probleme die durch diese Variante noch nicht gelöst werden:
- Die korrekte Reihenfolge der Module ist erst nach dem Laden aller *config.php möglich, da aus diesen die Abhängigkeitsinformationen kommen. Um dies zu lösen könnte man einen zweite Konfigurationsdatei einführen in diese Information separat angegeben wird.

[Download the attachments](http://www.contao.org/tl_files/tickets/2043.zip "Download the attachments of this ticket")
Related issues: #1951

--- _Originally created by backbone on May 27th, 2010, at 12:17am (ID 2043)_