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

2015-04-08 Diskussionsfäden Stephan Schuler
-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.schu...@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: i...@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-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Ralf-Rene Schröder
Gesendet: Mittwoch, 8. April 2015 15:53
An: typo3-german@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@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-
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

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

2015-04-08 Diskussionsfäden Ralf-Rene Schröder
Am 08.04.2015 um 16:41 schrieb Stephan Schuler:
 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.

in meiner liveMessage gibt es das Feld livedialog
also LiveMessage.livedialog = LiveDialog
getter und setter habe ich dafür erstellt, Repository eingerichtet, und
in der showAction des LiveDialog eigebunden...
leider ist hier immer noch was falsch:
https://gist.github.com/Lobster1956/2625c4fedce2666aee7b#file-gistfile1-php

denn ich kriege folgenden Fatal error:
Call to a member function getMessagesForDialog() on a non-object in
/var/www/clients/client10/web50/web/typo3conf/ext/romantica/Classes/Controller/LiveDialogController.php
on line 60 (im Cod oben Zeile 63)

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