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-boun...@lists.typo3.org
[mailto:typo3-german-boun...@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-boun...@lists.typo3.org
[mailto:typo3-german-boun...@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-boun...@lists.typo3.org
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Alexander
Dick
Gesendet: Donnerstag, 15. Dezember 2011 20:09
An: typo3-german@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@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an