Zum Inhalt springen

Leeren Eintrag bei n:1-Relation erstellen

Erstellt am 22. August 2012 · 2 Antworten · letzte Antwort am 22. August 2012

Tags: ViewHelper, TCA, Frage

janthelen ·

Hallo,

System: Typo3 4.5 (wgn LTS), Extbase 1.3.3, Fluid 1.3.0

Im Kickstarter habe ich eine n:1-Relation zwischen zwei Entities erstellt.
Im TCA ist der Eintrag mit

'items' => Array (
  Array("",0),
),

erweitert.
Die Zuordnung wird im FE mittels Selectbox erstellt,
Die Selectbox hat emptyOption='', der Viewhelper wurde so erweitert:

if ($this->arguments->hasArgument('emptyOption')) {
  $options = array('0' => $this->arguments['emptyOption']) + $options;
}

Soweit funktioniert alles.
Wenn keine Zuordnung besteht ist alles gut, wenn aber eine Zuordnung erfolgt ist, kriege ich diese nicht gelöscht!
Im BE kann ich eine leere Zuordnung erstellen, im FE bleibt die alte bestehen.

Ich kann über request auf den Wert zugreifen, aber dann nicht löschen. da ich über den setter keinen leeren Eintrag setzen kann und da ich eine n:1-Relation habe, gehe ich auch nicht übers Repository und kann nicht mit remove arbeiten.

Die Lösung ist wahrscheinlich so simple, dass ich den Wald vor lauter Bäumen nicht sehe, aber ich hab gerade ein Brett vor meinem Kopf und stehe auf dem Schlauch und jetzt gehen mir auch noch die blöden Sprüche aus.

Danke für jede Hilfe
Jan

janthelen ·

Hallo,

den Kampf hatte ich schon an einer anderen Stelle 😉. das geht bei ner n:m Beziehung, wenn ich ein Repository hab, also Tx_Extbase_Persistence_ObjectStorage als Datentyp.
Bei der n:1 Beziehung setzt ich in der DB ja direkt die Uid der Entity und kann im setter nur ein Objekt als parameter übergeben, hab also ein Tx_EXTENSION_Domain_Model_CLASS als Datentyp.

Die Abfrage des requests steht schon, ich krieg nur keinen leeren Wert an den Setter übergeben.

Ich bin da am Ende meines Lateins, der Drops ist leider noch nicht gelutscht.

Danke
Jan