Thursday, May 8, 2014

Wie kann ich die Sortierung von Datensaetzen in einem ExtBase-Repository beeinflussen?

Eine default/Standard-Sortierung kann folgendermassen gesetzt werden:

Im Deklarations-Bereich eines Repositories (.../Classes/Domain/Repository/...) diese Variable setzen, hier z.b. fuer die Sortierung ueber das Feld "sorting" (wie im TYPO3-Backend):

protected $defaultOrderings = array("sorting"=> Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING);

bzw. in Namespace-Schreibweise

protected $defaultOrderings = array("sorting"=>
\TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING);


Auch mehrere Sortierungen sind moeglich:

protected $defaultOrderings = array( 
    "title"=> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
    "name"=> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
);


Im Programmcode kann die Sortierung auch naetraeglich geaendert werden:

$query->setOrderings(
    "title"=> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
    "name"=> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
);

No comments:

Post a Comment