Projekt

Allgemein

Profil

Aktionen

Bug #74

offen

[Bugsink] ErrorException: Warning: Undefined array key "gallery"

Von Bug Sink vor etwa 1 Monat hinzugefügt.

Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
20.07.2026
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/99c73990-d0f2-43d7-b83d-9c69374fd8b1/event/last/

Typ: NEW issue

Projekt: www-rietberg-de

Bugsink Alert

ErrorException: Warning: Undefined array key "gallery"


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des Fehlers: Undefined array key "gallery"


1. Ursache identifizieren

Der Fehler tritt auf, weil im PHP-Code versucht wird, auf den Array-Key "gallery" zuzugreifen, der nicht existiert (weder im $_GET, $_POST noch in einem anderen Array).

  • Kontext:
    • Der Fehler stammt aus der Datei /public/index.php (Zeile 21), wo vermutlich ein Closure (anonyme Funktion) oder ein Controller auf ein Array zugreift, das den Key "gallery" nicht enthält.
    • Die Fehlerkette zeigt, dass der Request durch die TYPO3-Middleware läuft, aber der eigentliche Fehler nicht im Core, sondern in benutzerdefiniertem Code (vermutlich einer Extension) liegt.
    • Typische Szenarien:
      • Ein Frontend-Plugin oder Backend-Modul erwartet den Parameter "gallery" (z. B. via $_GET, $_POST oder GeneralUtility::_GP()).
      • Ein Fluid-Template oder TypoScript greift auf ein nicht existierendes Feld zu (z. B. {data.gallery} in einem Content-Element).
      • Ein Extbase-Controller liest ein nicht vorhandenes Property aus einem Model.

2. Fix beschreiben (konkret)

Mögliche Lösungen je nach Kontext:

A) Parameter prüfen (PHP-Code)

Falls der Key "gallery" aus $_GET/$_POST oder GeneralUtility::_GP() gelesen wird:

// Vorher (fehlerhaft):
$gallery = $_GET['gallery']; // oder $_POST['gallery']

// Nachher (sicher):
$gallery = $_GET['gallery'] ?? null; // PHP 7+ (Null-Coalescing-Operator)
if ($gallery === null) {
    // Fehlerbehandlung (z. B. Exception werfen oder Default-Wert setzen)
    throw new \RuntimeException('Parameter "gallery" fehlt!', 1623456789);
}

Alternativ mit TYPO3-Funktionen:

use TYPO3\CMS\Core\Utility\GeneralUtility;

$gallery = GeneralUtility::_GP('gallery');
if ($gallery === null) {
    // Fehlerbehandlung
}
B) Fluid-Template anpassen

Falls der Fehler in einem Fluid-Template auftritt (z. B. {data.gallery}):

<!-- Vorher (fehlerhaft): -->
<f:if condition="{data.gallery}">
    <!-- ... -->
</f:if>

<!-- Nachher (sicher): -->
<f:if condition="{data.gallery -> f:count()} > 0">
    <!-- ... -->
</f:if>

Oder mit Fallunterscheidung:

<f:variable name="gallery" value="{data.gallery}" />
<f:if condition="{gallery}">
    <!-- ... -->
<f:else>
    <!-- Fallback anzeigen -->
</f:if>
C) Extbase-Model/Repository prüfen

Falls der Fehler in einem Extbase-Controller auftritt:

// Vorher (fehlerhaft):
$gallery = $this->request->getArgument('gallery');

// Nachher (sicher):
$gallery = $this->request->hasArgument('gallery')
    ? $this->request->getArgument('gallery')
    : null;
D) TypoScript anpassen

Falls der Fehler durch TypoScript ausgelöst wird (z. B. data.gallery in einem Content-Element):

# Vorher (fehlerhaft):
10 = TEXT
10.field = gallery

# Nachher (sicher):
10 = TEXT
10.field = gallery
10.if.isTrue.field = gallery

3. Betroffene TYPO3 Extension nennen

  • Der Fehler stammt nicht aus dem TYPO3-Core, sondern aus einer benutzerdefinierten Extension oder einem Template.
  • Mögliche Kandidaten:
    • Eine eigene Extension (z. B. ext:my_gallery oder ext:my_theme).
    • Eine Drittanbieter-Extension wie:
      • ext:news (falls ein Gallery-Plugin verwendet wird).
      • ext:bootstrap_package (falls ein Content-Element "Gallery" genutzt wird).
      • ext:mask oder ext:gridelements (falls ein Custom-Content-Element mit Gallery-Feld existiert).
    • Ein Fluid-Template oder TypoScript in fileadmin/.

Wie findet man die Extension?

  1. Stacktrace analysieren:
    • Der Fehler stammt aus /public/index.php, was darauf hindeutet, dass der Code außerhalb des vendor/-Ordners liegt (z. B. in typo3conf/ext/ oder fileadmin/).
  2. Debugging:
    • In /public/index.php (Zeile 21) nach dem Code suchen, der auf $_GET['gallery'] oder ähnlich zugreift.
    • Alternativ: Xdebug oder var_dump(debug_backtrace()) verwenden, um den genauen Aufrufpfad zu ermitteln.
  3. TYPO3-Backend prüfen:
    • Unter "Web > Info > PHP Errors" nach ähnlichen Fehlern suchen.
    • Im TYPO3-Log (var/log/typo3_*.log) nach dem Fehler suchen.

4. Confidence (0-100%)

Aspekt Confidence
Ursache (Undefined array key) 100%
Fix (Null-Prüfung, Fluid-Template-Anpassung) 95% (abhängig vom genauen Kontext)
Betroffene Extension 80% (wahrscheinlich eine benutzerdefinierte Extension oder ein Template)

Gesamt-Confidence: 90%

  • Der Fehler ist klar ein PHP-Warning durch einen fehlenden Array-Key.
  • Die Lösung hängt davon ab, wo der Key erwartet wird (PHP, Fluid, TypoScript).
  • Die betroffene Extension lässt sich mit etwas Debugging sicher identifizieren.

Empfohlene nächste Schritte

  1. Debugging starten:
    • In /public/index.php (Zeile 21) prüfen, welcher Code auf "gallery" zugreift.
    • Falls es sich um ein Extbase-Plugin handelt: Den Controller und das Template analysieren.
  2. TYPO3-Log prüfen:
    • var/log/typo3_*.log nach weiteren Hinweisen durchsuchen.
  3. Extension lokalisieren:
    • Im TYPO3-Backend unter "Extensions" nach Plugins suchen, die eine Gallery-Funktionalität bereitstellen.
  4. Fix implementieren:
    • Je nach Kontext eine der oben genannten Lösungen anwenden.

Falls du den genauen Code-Ausschnitt aus /public/index.php oder der Extension teilen kannst, kann ich die Analyse weiter präzisieren!

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF