Hi,
Ich nutze in meiner Extbase Extension die IRRE Funktionalität. Tut soweit alles sehr gut!
Jedoch hab ich ein Problem mit der Sortierung:
Wie kann man die Child-Elemente automatisch nach einem bestimmten Feld sortieren?
Konkreter Fall: die Child-Element haben ein Feld date_start nach dem die Einträge absteigend sortiert werden sollen.
Im TCA der Child-Elemente hab ich hierfür folgendes eingetragen:
<?php
$TCA['tx_myext_domain_model_child'] = array(
'ctrl' => array(
[...]
'default_sortby' => 'ORDER BY date_start ASC',
[...]
)
);
?>
Z.B. trage ich drei Child-Elemente in folgender Reihenfolge über die IRRE-Funktion ein:
1. Child: date_start => 23.09.2011
2. Child: date_start => 01.01.2011
3. Child: date_start => 09.10.2011
Schau ich mir die Child-Elemente im Backend in der Listenansicht an, sind sie korrekt sortiert (d.h: 2.Child, 1.Child, 3.Child). Im Bearbeitungsformular des Parent-Elements stimmt die Sortierung jedoch nicht. Hier bleiben sie genau in der Reihenfolge stehen wie ich sie eingetragen habe.
Die IRRE Einbindung im Parent-Element sieht wie folgt aus (TCA):
<?php
$TCA['tx_myext_domain_model_parent']['columns']['children']['config'] = array(
'type' => 'inline',
'foreign_table' => 'tx_myext_domain_model_child',
'MM' => 'tx_myext_parent_child_mm',
'maxitems' => 9999,
'foreign_selector' => 'uid_foreign',
'appearance' => array(
'useSortable' => 1,
'useCombination' => 1,
'newRecordLinkPosition' => 'top'
)
);
?>
Mir ist klar, dass ich mit useSortable = 1 die Sortierung auf "manuell" geschalten habe. Aber selbst wenn ich das auf "0" setze stimmt die Sortierung immer noch nicht. Im Frontend werden die Child-Elemente nach der IRRE-Sortierung ausgegeben (also genau so, wie sie im Bearbeitungsformular des Parent-Elements sortiert sind).
Gibt es eine Möglichkeit, die manuelle Sortierung komplett zu deaktivieren die Child-Elemente über ein vorgegebenes Feld zu sortieren?
Danke schon mal für eure Hilfe 🙂