[TYPO3-german] nicht nur Childs ausgeben, sondern auch Childs eines per 1:1 verbundenen Datensates

Stephan Schuler Stephan.Schuler at netlogix.de
Wed Apr 8 16:41:45 CEST 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hallo Ralf-Rene.

Deine Messages brauchen eine Rückbeziehung zum Dialog.
Sagen wir so:
> LiveMessage.parentDialog = LiveDialog;

Es muss also nicht nur der Dialog seine Collection aus Messages kennen (1:n) sondern auch die einzelne Message den Dialog als Verursacher (n:1).

Das ist vermutlich nur ein zusätzliches Attribut im DomainModel, die Datenbankrelation sowie das TCA spiegeln das vermutlich ohnehin wieder weil das ja datenbankseitig die naheliegende Implementierung ist.

Dann kannst du im Repository einen eigenen Query bauen:
https://gist.github.com/anonymous/50d222f8391c9ff25e4f
Das ist frei Hand zusammengeschrieben, Tippfehler vorbehalten.

Alternativ kannst du natürlich auch dein Datenmodell ändern. Bislang hast du zwei Dialoge die sich kennen und Messages die an Dialogen hängen.
Du kannst
* ein neues Objekt "Conversation" einführen,
* beide Dialoge an die Conversation hängen und
* die Message zusätzlich zum Dialog noch an die Conversation.

Durch dieses Modell kannst du ggf. die Verbindung zwischen zwei Dialogen vollständig lösen und bist -- keine Ahnung ob es dafür ggf. einen Use-Case geben kann -- später in der Lage, eine Conversation nicht nur aus zwei Dialogen sondern aus beliebig vielen zusammenzubauen.

Oder aber du baust einen getter in dein DoaminObject der dir das liefert.
Einfach eine neue Methode mit dem Inhalt "return array_merge($this->getMessages(), $this->getPartnerDialog()->getMessages());".

P.S.: One child, several children.



Stephan Schuler
Web-Entwickler | netlogix Media

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Web: media.netlogix.de




netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: info at netlogix.de | Web: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt



- -----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Ralf-Rene Schröder
Gesendet: Mittwoch, 8. April 2015 15:53
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] nicht nur Childs ausgeben, sondern auch Childs eines per 1:1 verbundenen Datensates

Hallo...
ich habe folgende Konstellation

es gibt liveDialog Datensätze
die sind IMMER 1:1 mit einem anderen liveDialog Datensatz verbunden jeder hat als Childs liveMessage Datensätze

nun möchte ich auf der Ausgabeseite des eigenen liveDialog mit der show action ALLE messages ausgeben (eigene und die des 1:1 verbundenen
Datensatzes) um den Dialogverlauf chronologisch zu zeigen...

derzeit mache ich es noch wie folgt in meinen LiveDialog/Show.html:
<f:alias map="{partnerDialog: liveDialog.partnerDialog}"> <ul id="messages">
  <f:for each="{liveDialog.messages}" as="message">
    <li id="{message.uid}">{message.message}</li>
  </f:for>
  <f:for each="{partnerDialog.messages}" as="pmessage">
    <li id="{pmessage.uid}">{pmessage.message}</li>
  </f:for>
</ul>
</f:alias>

...und sortiere sie mit jQuery in die richtige Reihenfolge nach der ID.
Es muß doch aber besser gehen, das ich irgendwie gleich richtig ALLE passenden Datensätze ausgeben kann ...
(also alle Childs BEIDER verbundener Datensätze)

- --
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format _______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

-----BEGIN PGP SIGNATURE-----
Version: PGP Universal 3.3.2 (Build 15704)
Charset: utf-8

wpUDBQFVJT4rpp0IwsibV8MBCMzHA/9wdwIqMHRsKQzw51/UO4iIEpxbrToxEWIV
1v2dOq51OF82KGZK727ypwWlTdDL/xGdcV52B/Ws+tiKAy58060lRQaUZOjVPuO5
pdYoUjaLPwmcPxOfL3xufg+HoGUvDZE/3sqa1nrrUGIkjD3X9ai2ZQNDw0kynrGk
QvSDtxi9lg==
=8pU6
-----END PGP SIGNATURE-----


More information about the TYPO3-german mailing list