Leeren Eintrag bei n:1-Relation erstellen

  • 0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    22. 08. 2012, 12:09

    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

    1. 'items' => Array (
    2. Array("",0),
    3. ),
    erweitert.
    Die Zuordnung wird im FE mittels Selectbox erstellt,
    Die Selectbox hat emptyOption='', der Viewhelper wurde so erweitert:
    1. if ($this->arguments->hasArgument('emptyOption')) {
    2. $options = array('0' => $this->arguments['emptyOption']) + $options;
    3. }

    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


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    22. 08. 2012, 13:07

    Zu dem Problem kenne ich selbst nur einen Workarround:
    Abfragen ob der Teil im POST leer ist und dann removeAll()

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • 0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    22. 08. 2012, 13:24

    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

  • 1