[TYPO3-german] Sortierung von Kindobjekten in extbase
Lorenz Ulrich
lorenz-typo3 at visol.ch
Tue Mar 20 10:47:26 CET 2012
Hallo Daniel
Was du willst, geht leider out-of-the-box mit Extbase nicht. Eine
PHP-seitige Lösung ist hier beschrieben:
<http://lists.typo3.org/pipermail/typo3-project-typo3v4mvc/2010-June/005131.html>
Die funktioniert ohne Probleme.
Du kannst auch den SortViewHelper aus FED benutzen:
<http://fedext.net/fed-viewhelpers/variables/data-sorter.html>
Beste Grüsse,
Lorenz
Am 19.03.2012 21:02, schrieb Daniel Gercke:
> Hallo Christopher,
>
> ich möchte das Thema noch einmal aufgreifen. Ich denke ich habe alle
> deine Posts gelesen, verstanden habe ich es aber trotzdem nicht.
> Okay ich habe deine Kurzschreibweise verstanden, aber die eigentliche
> Frage war ja, wie kann man auf Kindobjekte zugreifen und das sorting
> beeinflussen.
>
> Angenommen ich habe ein Domain Objekt "Haus" und dieses steht in einer
> 1:n Relation zu zu einem weiteren Domain Objekt "Zimmer". Dann möchte
> ich mit
>
> haus->getZimmer();
>
> die Zimmer nicht nach uid sortiert erhalten, sondern z.B. nach "Namen".
>
> Wie stellt man das an? Muss ich wirklich den "Umweg" über ein Repository
> das ich extra instanziere gehen?
>
> Gruß
>
> Daniel
>
>
> Am 16.12.2011 14:38, schrieb Seidel, Christopher:
>> Hast du meine Antwort darauf nicht erhalten?
>>
>> Viele Grüße
>>
>> Christopher
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-bounces at lists.typo3.org
>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Christian
>> Essl
>> Gesendet: Freitag, 16. Dezember 2011 14:38
>> An: German TYPO3 Userlist
>> Betreff: Re: [TYPO3-german] Sortierung von Kindobjekten in extbase
>>
>> Wenn ich also Kindobjekte über den Aggregate-Root auslesen möchte,
>> gibt es keine Sortiermöglichkeiten? Heißt das, ich darf jetzt schon im
>> Voraus für den extension_builder einplanen, einfach für alle Modelle
>> Repositorys einzuplanen, um später auch nach mehr als nur der uid
>> sortieren zu können?
>> Dann verstehe ich jetzt aber den Sinn nicht dahinter, warum man
>> überhaupt auch über den Aggregate Root auf Kindobjekte zugreifen
>> sollte...
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-bounces at lists.typo3.org
>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Thomas
>> Pronold
>> Gesendet: Freitag, 16. Dezember 2011 11:13
>> An: German TYPO3 Userlist
>> Betreff: Re: [TYPO3-german] Sortierung von Kindobjekten in extbase
>>
>> Schreib dir einfach im KindObjekt-Repository eine extra find-Methode
>> und benutze dort das $query Objekt von extbase:
>>
>> Beispiel von:
>>
>> http://blog.typoplanet.de/2010/01/27/the-repository-and-query-object-of-extbase/
>>
>>
>> public function findRecentByBlog(Tx_BlogExample_Domain_Model_Blog
>> $blog, $limit = 5) { $query = $this->createQuery(); return
>> $query->matching($query->equals('blog', $blog))
>> ->setOrderings(array('date' =>
>> Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING))
>> ->setLimit((integer)$limit)
>> ->execute();
>> }
>>
>> Das sollte dir hoffentlich weiterhelfen.
>>
>> Viele Grüße,
>> Thomas Pronold
>> http://www.tpronold.de
>>
>> Am 16.12.2011 08:31, schrieb Christian Essl:
>>> Danke,
>>>
>>> aber dann müsste ich wieder meine Kindobjekte manuell über dieses
>>> Repository auslesen, wenn ich mich nicht irre?
>>> Ich habe hier z.B. ein einfaches Modell "Calendar" mit 1:n-Relation
>>> zu "Events". Wenn ich jetzt einen Kalender mit all seinen Events
>>> ausgeben will, greife ich einfach auf das CalendarRepository zurück.
>>> Die Events werden dann ja automatisch mit der
>>> ObjectStorage-Konfiguration im Model nachgeladen, aber dann eben nur
>>> nach der default-Sortierung.
>>> Wegen der Sortierung der Datensätze alleine ein EventRepository
>>> einzurichten und die Events dann manuell im Controller auszulesen
>>> kommt mir irgendwie recht umständlich vor. Gibt es da wirklich keine
>>> einfachere Lösung für ObjectStorage? Bin jetzt nämlich schon öfter
>>> mit extbase auf dieses Problem gestoßen, dass ich Objekte einfach nur
>>> nach einer anderen Sortierung ausgeben wollte.
>>>
>>> Gruß,
>>> Christian
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: typo3-german-bounces at lists.typo3.org
>>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Alexander
>>> Dick
>>> Gesendet: Donnerstag, 15. Dezember 2011 20:09
>>> An: typo3-german at lists.typo3.org
>>> Betreff: Re: [TYPO3-german] Sortierung von Kindobjekten in extbase
>>>
>>> Hallo Christian,
>>>
>>> sieh dir mal die defaultOrderings an.
>>>
>>> definiere das im entsprechenden Repository des Kind Objektes:
>>>
>>> protected $defaultOrderings = array(
>>> 'startdate' =>
>>> Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING
>>> );
>>>
>>> LG
>>> Alex
>>>
>>> Am 15.12.2011 15:12, schrieb Christian Essl:
>>>> Hallo,
>>>>
>>>> Ich versuche jetzt schon den halben Tag, Kindobjekte (einfache
>>>> 1:n-Relation) innerhalb meines ORM über ein manuelles Feld (ein
>>>> Datum) anstatt der uid zu sortieren.
>>>>
>>>> Zunächst einmal habe ich herausgefunden, dass sich die Sortierung
>>>> von extbase über das TCA mit "foreign_sortby => 'startdate'"
>>>> bewerkstelligen lässt. Allerdings ist das auch keine Lösung, da
>>>> dieses Feld dann intern im Backend für die Sortierung verwendet wird
>>>> und deshalb die startdate-Werte überschrieben werden.
>>>> Ist es irgendwie sinnvoll möglich, die Kind-Objekte zu sortieren?
>>>>
>>>> Wenn ich die Kind-Objekte nicht mehr direkt über den Aggregate Root
>>>> auslese, sondern darauf angewiesen wäre, diese manuell mit eigenen
>>>> Querys auszulesen, würde das ja irgendwie den Sinn vom ganzen Object
>>>> Relational Model untergraben, wenn ich das alles wegen einer
>>>> einfachen Sortierung nochmal auslesen müsste?
>>>>
>>>> Gruß,
>>>> Christian
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list