[TYPO3-german] Sorting mit DataHandler

David Brünner david.bruenner at t-online.de
Sat Dec 30 20:03:10 CET 2017


Ich habe zum Testen eine Extension(testsort) mit folgender Struktur angelegt:

Tabelle 'Gebaeude':
Property: 'name'

Tabelle 'Person':
Property: 'name'
FKey: gebaeude

Wird die Extension installiert, werden drei Tabellen
- tx_testsort_domain_model_gebaeude
- tx_testsort_domain_model_person
- tx_testsort_person_gebaeude_mm
angelegt.

Testweise habe ich 5 Gebäude angelegt:
G1, G2, G3, G4, G4

Und eine Person (P1) mit drei Gebäuden: G1, G3, G5
Ich brauche aber eine Möglichkeit die zugewiesenen Gebäude sortieren zu können - im BE geht das einfach indem ich in der Mutliselect Box dein Eintrag nach oben oder Unten verschiebe.

Aber wie mache ich das in meinem eigenen Modul?

Ich habe jetzt gelesen, dass genau dafür DataHandler da sind.
Aber leider konnte ich nicht nachvollziehen wie das geht.

Ich habe es mal mit folgendem Code probiert:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
$cmd['tx_testsort_person_gebaeude_mm'][1]['move'] = 10;
$tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
$tce->stripslashes_values = 0;
$tce->start(array(), $cmd);
$tce->process_cmdmap();
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Damit wollte ich den Eintrag mit der ID 1 in der Tabelle 'tx_testsort_person_gebaeude_mm' auf Platz 10 verschieben. 
Aber leider bewirkt der obige Code garnichts.

Hat jemand einen Tip oder hat einen Hinweis zum debugen der im BE verwendeten Möglichkeit zum verschieben der Einträge.




More information about the TYPO3-german mailing list