Klasse \Contao\Form in eigenem Namespace überlagern
Hallo,
ich versuche gerade in einer als Contao 4 Bundle angelegten Erweiterung die Funktion "processFormData" in der Formular-Klasse "\Contao\Form" zu überlagern.
Das will aber nicht funktionieren, sprich meine Klasse wird beim Abschicken eines Formulars ignoriert.
In der Variante für Contao 3 hat das immer ohne Probleme funktioniert. Da hatte ich meine Klasse über die autoload.php registriert.
Ich habe geprüft:
- in "vendor/composer/autoload_classmap.php" taucht ein Eintrag für meine Klasse in der erwarteten Notation auf:
PHP-Code:
'Fw2\\Form' => $vendorDir . '/feldwaldwiese/fw2-form/src/Resources/contao/forms/Form.php',
- ebenso in "vendor/composer/autoload_static.php":
PHP-Code:
'Fw2\\Form' => __DIR__ . '/..' . '/feldwaldwiese/fw2-form/src/Resources/contao/forms/Form.php',
Kann mir da jemand auf die Sprünge helfen?
Arno
EDIT:
Ich habe gerade mal zum Testen folgendes gemacht:
Doch wieder eine autoload.php im "config" Verzeichnis meiner Erweiterung erstellt und dann im Contao-Root/system/modules manuell einen Symlink nach "vendor/feldwaldwiese/fw2-form/src/Resources/contao" angelegt. Siehe da: Das funktioniert!
Aber das sollte doch so eigentlich nicht nötig sein, oder?
Ich dachte, wenn ich mich korrekt in der Contao 4/Symfony Struktur bewege und meine Klasse auch vom Autoloader erkannt wird, dann braucht es die autoload.php und die Symlinks in "system/modules" nicht mehr.