Projekt

Allgemein

Profil

Aktionen

Bug #195

offen

[Bugsink] TYPO3\CMS\Extbase\Property\Exception: Exception while property mapping at property path "": Expected argument of type "TYPO3\CMS\Extbase\Persistence\…

Von Bug Sink vor etwa 1 Monat hinzugefügt.

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

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/059b50f2-adf8-416e-803e-0f3cc5fc46e8/event/last/

Typ: NEW issue

Projekt: www-verl-de

Bugsink Alert

TYPO3\CMS\Extbase\Property\Exception: Exception while property mapping at property path "": Expected argument of type "TYPO3\CMS\Extbase\Persistence\…


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des Fehlers

1. Ursache identifizieren

Der Fehler liegt in der Domain Model-Klasse Citkomm\CitkoDirectory\Domain\Model\Eintrag. Die Methode setLogo() ist wie folgt typisiert:

public function setLogo(ObjectStorage $logo): void

Das Problem: Das Extbase Data Mapper versucht beim Hydratieren der Domain-Objekte (Typo3-Datensatz-zu-Objekt-Mapping über Symfony's PropertyAccessor) den Wert null in diese Methode zu schreiben. Das passiert, wenn ein Eintrag-Datensatz in der Datenbank existiert, dessen Logo-Feld leer/NULL ist (z. B. beim ersten Speichern ohne Logo-Auswahl, oder bei einem Datensatz der noch nicht vollständig befüllt wurde).

Da der Parameter $logo nicht als nullable (?ObjectStorage) deklariert ist, wirft PHP einen TypeError.

2. Fix (konkret)

Datei: EXT:citko_directory/Classes/Domain/Model/Eintrag.php

Änderung in der setLogo()-Methode:

// VORHER (fehlerhaft):
public function setLogo(ObjectStorage $logo): void
{
    $this->logo = $logo;
}

// NACHHER (korrigiert):
public function setLogo(?ObjectStorage $logo): void
{
    $this->logo = $logo;
}

Zusätzlich empfohlen: In getLogo() ebenfalls nullable machen, falls noch nicht geschehen:

public function getLogo(): ?ObjectStorage
{
    return $this->logo;
}

Optional – Best Practice: Im Konstruktor eine leere ObjectStorage initialisieren, um NPEs beim Zugriff zu vermeiden:

public function __construct()
{
    $this->logo = new ObjectStorage();
}

3. Betroffene TYPO3 Extension

Citkomm CitkoDirectory (citko_directory)

  • Hersteller: Citkomm GmbH
  • Typ: Verzeichnis-/Verzeichnis-Eintrag-Extension für TYPO3
  • Die Domain-Klasse Citkomm\CitkoDirectory\Domain\Model\Eintrag ist betroffen

4. Confidence

95%

  • Der TypeError ist eindeutig und die Ursache ist klar: nicht-nullable ObjectStorage-Type-Hint trifft auf null-Wert beim Extbase-Mapping
  • Das Fix ist standardisiert und in der TYPO3-Community weit verbreitet
  • Die einzige Unsicherheit betrifft randständige Fälle (z. B. ob noch andere Properties mit demselben Muster betroffen sein könnten), aber der Fehlertext benennt exakt setLogo()

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF