[Frage] IRRE Parent und Child Objekt gleichzeitig erstellen TYPO3-Version: 6.2.7

  • ironpfu ironpfu
    R2-D2
    0 x
    99 Beiträge
    1 Hilfreiche Beiträge
    11. 08. 2015, 09:37

    Hallo zusammne,

    ich stehe gerade total neben der Spur und kann ein eigentlich sehr simples angedachtes Problem nicht lösen.

    Über ein FE Plugin soll verweinfacht gesagt das Objekt "books"(Titel, Verlag, Author, etc.) angelegt werden können, wobei der/die Authoren mittels Relation zu einem Objekt "Authors" (Vorname, Familienname, Adresse, etc.) mittels IRRE realisiert werden. Beim Eingeben eines neuen Buches stehe ich nun vor dem simplen Problem, dass die UID des Parent Objekts "books" noch nicht vorhanden ist und ich daher auch keine Child Objekte "authors" im gleichen Schritt anlegen kann.

    Gibt es hierfür eine simple Lösung oder bin ich gezwungen ein Multistep-Formular zu erstellen und im ersten Schritt das Parent Objekt zu generieren und in einem weiteren Schritt eine neue Controller Action aufzurufen in der die Child Objekte verarbeitet werden?

    LG Jürgen


  • 1
  • ironpfu ironpfu
    R2-D2
    0 x
    99 Beiträge
    1 Hilfreiche Beiträge
    11. 08. 2015, 14:07

    Fast am Ziel!

    Im Controller:

    1. public function initializeCreateAction() {
    2. $this->arguments->getArgument('newSubmission')->getPropertyMappingConfiguration()->allowProperties('authors');
    3. $this->arguments->getArgument('newSubmission')->getPropertyMappingConfiguration()->forProperty('authors.*')->allowProperties('firstname', 'lastname', 'email', 'affiliation', 'presenter');
    4. $this->arguments->getArgument('newSubmission')->getPropertyMappingConfiguration()->allowCreationForSubProperty('authors.*');
    5. }

    im Template:

    1. <input name="tx_congress_submission[newSubmission][authors][0][firstname]" type="text">\
    2. <input name="tx_submission[newSubmission][authors][0][lastname]" type="text">\
    3. <input name="tx_submission[newSubmission][authors][0][email]" type="text">\
    4. <input name="tx_submission[newSubmission][authors][0][affiliation]" type="text">\
    5. <input name="tx_submission[newSubmission][authors][0][presenter]" type="text">\

    Nun kann man auch ganz einfach mit JS mehrer Authoren dynamisch hinzufügen:

    1. <input name="tx_submission[newSubmission][authors][0][lastname]" type="text">
    2. <input name="tx_submission[newSubmission][authors][1][lastname]" type="text">
    3. <input name="tx_submission[newSubmission][authors][2][lastname]" type="text">

    Wie kann ich nun für das Sub-Objekt die Validierung aktivieren?

  • ironpfu ironpfu
    R2-D2
    0 x
    99 Beiträge
    1 Hilfreiche Beiträge
    11. 08. 2015, 20:34

    Leider zu früh gefreut...
    Mit diesem Ansatz können zwar sehr einfach neue Child Objekte erstellt werden.
    Die Validierung wird zwar durchgeführt aber werden bei der errorAction nicht korrekt dargestellt:
    [b]No value found for key "TYPO3\CMS\Fluid\ViewHelpers\FormViewHelper->formObject"[/b]

    Zudem fehlt die Möglichkeit ein Update/edit der Child-Objekte durchzuführen.
    Ich bin auf einen ähnlichen Post gestoßen:
    [url]http://www.typo3.net/forum/thematik/zeige/thema/111229/?show=1[/url]
    Leider funktioniert dieser Ansatz unter Typo3 6.2.x nicht.
    Kennt jemand eine Extension an welcher das Anlegen und Bearbeiten von Child-Objekten im Parent Form realisiert wurde?

  • ironpfu ironpfu
    R2-D2
    0 x
    99 Beiträge
    1 Hilfreiche Beiträge
    12. 08. 2015, 16:08

    Offtopic, Bitte diesen Thread weiterlesen:
    [url]http://www.typo3.net/forum/thematik/zeige/thema/120717/[/url]

  • 1