Fehler: Exception unter PHP 8.1 sorgt dafür, dass das Element nicht gespeichert werden kann.
Produkt: Custom Elements Contao
Contao-Version: 4.13.23
Browser und Browserversionen: Chrome, Opera, Safari
Guten Tag!
Ich habe den Server meiner Contao 4.13-Installation letzte Woche von PHP 8.0 auf 8.1 angepasst und seit den notwendigen Updates im Contao nun das Problem, dass einige meiner angelegten RSCE-Elemente zwar noch im Backend angezeigt werden können, aber nicht mehr mit Inhalten abgespeichert. Nach dem Speichern ist das BE-Formular wieder leer und ich habe keine Möglichkeit, neue Elemente zu erzeugen die tatsächlich Inhalte speichern. Die zuvor erstellten Elemente funktionieren weiterhin, aber da ändere ich auch besser erstmal nichts.
Custom Elements ist installiert in der Version 2.4.4.
Wenn ich im BE den Debug Mode einschalte, erhalte ich diese Exception mit Stacktrace:
ErrorException:
Warning: Undefined array key "inputType"
at vendor/madeyourday/contao-rocksolid-custom-elements/src/CustomElements.php:768
at MadeYourDay\RockSolidCustomElements\CustomElements->createDcaItem()
(vendor/madeyourday/contao-rocksolid-custom-elements/src/CustomElements.php:643)
at MadeYourDay\RockSolidCustomElements\CustomElements->createDca()
(vendor/madeyourday/contao-rocksolid-custom-elements/src/CustomElements.php:111)
at MadeYourDay\RockSolidCustomElements\CustomElements->onloadCallback()
(vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php:201)
at Contao\DC_Table->__construct()
(vendor/contao/core-bundle/src/Resources/contao/classes/Backend.php:416)
at Contao\Backend->getBackendModule()
(vendor/contao/core-bundle/src/Resources/contao/controllers/BackendMain.php:168)
at Contao\BackendMain->run()
(vendor/contao/core-bundle/src/Controller/BackendController.php:49)
at Contao\CoreBundle\Controller\BackendController->mainAction()
(vendor/symfony/http-kernel/HttpKernel.php:163)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
(vendor/symfony/http-kernel/HttpKernel.php:75)
at Symfony\Component\HttpKernel\HttpKernel->handle()
(vendor/symfony/http-kernel/Kernel.php:202)
at Symfony\Component\HttpKernel\Kernel->handle()
(public/index.php:44)
Diese Elemente haben mit PHP 8.0 noch funktioniert, einen Rollback kann ich aber nicht durchführen da ich für andere Erweiterungen unbedingt auf 8.1 bleiben muss. :(
Bin für jede Hilfe dankbar.
VG, Marina
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
1 Posted by Marina on 05 May, 2023 09:38 AM
Und nochmal hallo!
Ich habe den Fehler gefunden, er teilte sich auf mehrere Teilbereiche auf:
1. Ich hatte eine Gruppe am Anfang erstellt ohne inputType zu setzen, weil ich lediglich eine Überschrift erzeugen wollte. Das hat für die Exception gesorgt. Der beschriebene Fehler, dass keine Inhalte gespeichert wurden, blieb aber.
2. Ich habe eine Gruppe am Ende erstellt, die zwar den korrekten inputType = 'group' hatte, aber vom Wert eines anderen Feldes mittels 'dependsOn' abhängig war. Solange dieses dependsOn aktiv war, konnten Inhalte nicht gespeichert werden, sofern die Gruppe nicht angezeigt wurde. Ich habe lediglich das dependsOn entfernt und danach konnte man auch wieder speichern.
Sieht so aus als sei eine Anpassung im Hinblick auf die Umsetzung von dependsOn notwendig. Ich kann erstmal meine Custom Elements so umschreiben, dass eben kein depensOn mehr verwendet wird, aber auf dauer wäre es schön wenn das auch mit PHP 8.1 wieder funktionieren würde.
VG, Marina
Support Staff 2 Posted by RockSolid Theme... on 08 May, 2023 03:24 PM
Vielen Dank für Ihre Frage.
Bitte senden Sie uns die betroffene
rsce_…_config.php
-Datei damit wir den Fehler genauer untersuchen können.