Zum Inhalt springen

Problem mit eigener Extension nach Update 6.0.4 auf 6.1

Erstellt am 3. Mai 2013 · 7 Antworten · letzte Antwort am 10. April 2014

Tags: Extbase, Update & Upgrade, Frage

kingcasi ·

Hi zusammen,
Ich hatte auf 6.0.4 eine Extension geschrieben, die leider nicht auf 6.1 läuft:
Kannst jemand mit der Exception
"Found an invalid element type declaration in %s. A type "'\\xxxXXX\\XXXXX\\Domain\\Model\\Bran'" does not exist." was anfangen?
Fehler wird geschmissen bei Aufruf einer controller-Abfrage im Repository "Prod" wo auch per Raw-SQL auf andere Repositories ("Bran" zugegriffen wird)
Wo muss ich da ansetzen?
Danke, VG

P.S:Hatte den Post leider vorher in einer falschen Kategorie drin, da wieder gelöscht.

kingcasi ·

Auch wenn ich alle Abfragen aus dem Repository rausnehme, schmiert mir die Extension ab und ich bekomme obige Fehlermeldung.
Also scheint es schon mal nicht an der Umstellung auf mysqli zu liegen ...

kingcasi ·

Ok, scheinbar hängt sich extbase nun in der Tat im Prod-Model auf:

Dort habe ich die folgende Deklaration stehen:

/**
* bran
*
* @var \xxxXXX\XXXXX\Domain\Model\Bran
*/
protected $bran;

Die ist vom extensionBuilder erstellt worden, sollte aber eigentlich wohl
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\xxxxxx\xxxXXX\Domain\Model\Bran heißen.

Das bei 3 Entities geändert passt es schon etwas mehr...

Nun komme ich aber zu einer weiteren Fehlermeldung, die ich dann aber erstmal google ...

vG KC

kingcasi ·

Ok, komme nicht weiter:
"Exception while property mapping at property path "":Table 'dbxxx-xxx.tx_extbase_persistence_objectstorage' doesn't exist: SELECT tx_extbase_persistence_objectstorage.* FROM tx_extbase_persistence_objectstorage WHERE tx_extbase_persistence_objectstorage.uid IN ('3')"

Dies bekomme ich auf der Show-Action, Liste funktioniert.

kann mir jemand auf die Sprünge helfen, was diese Fehlermeldung generiert bzw. wo ich das ansetzen kann?

Die Models scheinen mir eigentlich in Ordnung...

Danke, vG KC

Unbekannter Benutzer ·

Du hast ja jetzt die relation von 1 zu N geändert, d.h. vorher sagte deine @var annotation aus, dass ein Objekt in der property ist, nun soll es ein ObjectStorage sein. Ich vermute im TCA steht es noch falsch drin. Das muss natürlich zusammenpassen. Wenn der Extension Builder das Model so generiert hatte, dann hat er das TCA wahrscheinlich genauso erstellt.

kingcasi ·

hi Kitsunet,

hatte die Antwort vor Wochen leider gar nicht gesehen ... :-(
Danke nachträglich.

Mich interessiert im Grunde genommen vor allem warum dieser Fehler nach einem Update auf 6.1 passiert?

Hast Du dazu eine Idee?

VG KC

emeh ·

Beginnt dein eigener Namespace mit einem Großbuchstaben? Das muss er wohl. Ich hatte diese Fehlermeldung anfänglich, als mein Namespace mit einem kleinen Buchstaben begann. Nach Umstellung war alles gut.

Siteway.​de ·

hi emeh, Oh mann. Vielen Dank für den Hinweis. Das hat es gelöst.

Hatte genau das hier beschriebene Problem.
Ext. über extension_builder angelegt. TYPO3 6.1.
Eine 1:n relation. Und die Fehlermeldung: "Found an invalid element type declaration in %s. A type "..." does not exist."

ObjectStorage brachte mich da nicht weiter.
Ich will das element ja nicht "forEach" ansprechen, sondern direkt "traversen" - also {model.relation.field}.

Nun hab ich wie beschrieben den Namespace von "vendor\..." auf "Vendor\..." geändert. (Also erster Buchstabe Groß).
Und alles läuft wie gewünscht.

VIELEN Dank für den Tipp.