FriendsOfREDAXO / forcal

Kalender- / Newsverwaltung für REDAXO. Mehrsprachig, Beliebig definierbare Eingabefelder
MIT License
20 stars 4 forks source link

Sortierung der Calendar-Entries innerhalb eines Datums z.B. nach Titel ermöglichen #6

Closed danspringer closed 2 years ago

danspringer commented 3 years ago

Momentan ist es so, dass einzelne Einträge, die am selben Datum stattfinden z.B. per \forCal\Handler\forCalHandler::getEntries($start, $filter_date, true, 'SORT_ASC', $categoryId); korrekt nach dem Datum sortiert werden. Hat man nun aber 3 Einträge z.B. am 01.01.2022 werden diese dann anschließend (glaube ich, ich habe nicht nachgesehen) nach id sortiert.

Hier wäre es wünschenswert, dass man noch eine weitere Sortierung zB nach Titel (name_1) vornehmen könnte.

Momentan:

Gewünscht zB:

Mit folgendem Code habe ich es entsprechend sortiert bekommen:

 $entries = \forCal\Handler\forCalHandler::getEntries($start, $filter_date, true, 'SORT_ASC', $categoryId);
// Sortierung damit innerhalb gleicher Tage noch der Titel nach alphabet sortiert wird
    usort($entries, function($a, $b) {
        /*
         When the $a value is on the left of the spaceship operator and the $b value is on the right, ASCending sorting is used.
         When the $b value is on the left of the spaceship operator and the $a value is on the right, DESCending sorting is used.
         * */
        return
            [$a['entry']->entry_start_date, $a['entry']->entry_name]
            <=>
            [$b['entry']->entry_start_date, $b['entry']->entry_name];
    });

https://stackoverflow.com/a/54647220

Evtl. könnte man hier andenken die Sortierung nach dem Datum noch nach mehreren Gesichtspunkten vorzunehmen (Titel, Venue, Kategorie).

skerbis commented 3 years ago

Wünschenswert aus meiner Sicht wäre die Sortierung:

Datum -> Uhrzeit -> Name

skerbis commented 2 years ago

@danspringer https://github.com/FriendsOfREDAXO/forcal/blob/f8d148378364b9b72466d38e8f119cc3e50feb7d/lib/forcal/Handler/forcalHandler.php#L494

Hier einen EP anlegen?