Hallo,
gibt es eine Möglichkeit alle Data Container Arrays auszulesen?
Momentan ist mir nur bekannt, wie man einen einzigen DCA auslesen kann:
PHP-Code:
$this->loadDataContainer('tl_module');
Druckbare Version
Hallo,
gibt es eine Möglichkeit alle Data Container Arrays auszulesen?
Momentan ist mir nur bekannt, wie man einen einzigen DCA auslesen kann:
PHP-Code:
$this->loadDataContainer('tl_module');
Moinsen,
die DCA-Daten stehen in $GLOBALS['TL_DCA'] zur Verfügung.
Was hast du denn vor?
Ich bastel gerade an einer Erweiterung die übersetzbare Felder zur Verfügung stellt. Und nun möchte ich über die Einstellungen optional festlegen können, welche Felder in jedem DCA ausgetauscht werden können. Aber ist jetzt zu kompliziert, das hier alles zu erklären. Die Erweiterung wird vermutlich in nächster Zeit erscheinen und dann werde ich alles etwas genauer erklären.
Um alle DCAs zu laden, habe ich inzwischen eine kleine Methode gebaut...
Klingt nach der Erweiterung TranslationEditor die lindesbs schon gebaut hat.
Oder der language-editor von Tristan.
Es geht in die Richtung von TranslationEditor, aber es wird trotzdem etwas neues.
Müsste es eigentlich tun :) Kann man noch optimieren mit Dingen wie "hab ich dich schon geladen?" etc.PHP-Code:
foreach ($this->Config->getActiveModules() as $module) {
foreach (scan('system/modules/' . $module . '/dca') as $dca) {
$this->loadDataContainer($dca);
}
}
In Contao 3 kann das knallen! Die Abfrage, "habe ich das bereits" muss hier rein.
Grund ist, das in manchen DCA Dateien auch Klassen enthalten. Lädt man diese auf diese Art kann es passieren, das diese bereits über den DCA Cache geladen sind und es kommt zum also beliebten "can not redeclare ....." Fehler.