Fehler: Exception unter PHP 8.1 sorgt dafür, dass das Element nicht gespeichert werden kann.

Marina's Avatar

Marina

05 May, 2023 08:31 AM

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

  1. 1 Posted by Marina on 05 May, 2023 09:38 AM

    Marina's Avatar

    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

  2. Support Staff 2 Posted by RockSolid Theme... on 08 May, 2023 03:24 PM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Bitte senden Sie uns die betroffene rsce_…_config.php-Datei damit wir den Fehler genauer untersuchen können.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

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