On 11/10/2014 09:07 PM, Jan Kornblum wrote:
> Hi Till,
>
>> gibt es für das Sortierproblem bei Child-Objekten eigentlich eine
>> Standard-Lösung?
>>
>> <f:for each="{mutter.kinder}" as="kind"> ... </f:for>
>> Ziel ist die Ausgabe bei Fluid in einer gewünschten Reihenfolge (z.B.
>> nach sorting-Feld).
>>
>> D.h. bei einer Beziehung Mutter 1 : n Kind ist die Sortierung beim
>> Kinder-Getter der Mutter-Klasse zu bewerkstelligen.
>> Das geht m.E. nur, in dem man im Getter die Kind-Repository einbindet
>> und dann mit findByMutter($this) die Default-Sortierung der Repository
>> nutzen kann.
>> Oder man benutzt ein PHP sort über die Kinder.
>>
>> Falls es sonst keine Lösung gibt: Welche der beiden Varianten ist der
>> Vorzug zu geben?
>
> Vor ca. einem Jahr gab es (meines Wissens) noch keine Lösung [1] +
> [2]. Aber es gibt Tickets im Forge.
>
> Ich hatte mir damals mit dem FED SortViewHelper [3] beholfen. Aktuell
> bringt der mir nach einem 6.2 Upgrade aber Fehler. Bin gerade selbst
> auf der Suche nach Ersatz, es gibt scheinbar was neues [4].
>
> Mir ist es ein Rätsel, warum solch ein Feature noch nicht in 6.2
> Einzug erhalten hat. Aber nach den Forge Comments ist die Sache wohl
> nicht trivial...
>
> Grüße, Jan
>
> P.S. Post mal deine Lösung hier!
>
>
> [1] http://lists.typo3.org/pipermail/typo3-german/2013-July/094699.html
> [2] http://forum.typo3.org/index.php/t/198373/
> [3] http://fedext.net/viewhelpers/fed/Data/SortViewHelper.html
> [4]
> https://fluidtypo3.org/viewhelpers/vhs/master/Iterator/SortViewHelper.html
>
Hi Jan,

danke für die Hinweise! [4] ist so ziemlich genau, was wir brauchen -
fragt sich nur, wie performant das ist.

Ich hatte bis jetzt eben keine befriedigende Lösung:

public function getKinder() {
    $kinderRepository =
$this->objectManager->get('Tx_XXXX_Domain_Repository_KinderRepository');
    return $kinderRepository->findByMutter($this)->toArray();
}

In der Kinder-Repository wird via
    protected $defaultOrderings = array(
        'sorting' =>
\TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
    );
die Sortierreihenfolge festgelegt, die bei findBy() angewendet wird.

Grüße,
Till


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

Reply via email to