-
-
Notifications
You must be signed in to change notification settings - Fork 213
Wrong sorting in module listview with sort by type #8402
Comments
|
Ich sehe das Problem, wüsste aber nicht, wie wir das sinnvoll lösen könnten. Die Sortierung erfolgt auf DB-Ebene und die Übersetzung erst anschließend, daher müssten wir theoretisch alles buffern und vor der Ausgabe neu sortieren. Sehr performant ist das bestimmt nicht. |
|
Ich finde, wenn nach einer Tabellenspalte sortiert wird (ich denke das ist immer der Fall) und der Wert dann übersetzt wird, dann müsste der Wert aus den Feldern in der Überschrift stehen. Die Übersetzung kann dann ja in eckigen Klammern dahinter erfolgen. Wobei die Übersetzung ja sowieso schon hinter jedem Modul steht. Vielleicht könnte man diese Zeile https://github.com/contao/core/blob/3.5.15/system/modules/core/drivers/DC_Table.php#L4232 $remoteNew = $this->formatCurrentValue($firstOrderBy, $row[$i][$firstOrderBy], $sortingMode);ergänzen mit $remoteNew = $this->formatCurrentValue($firstOrderBy, $row[$i][$firstOrderBy], $sortingMode);
if($GLOBALS['TL_DCA'][$this->strTable]['fields'][$firstOrderBy]['reference'])
{
$remoteNew = $row[$i][$firstOrderBy] . ' <span style="color:#b3b3b3; font-weight:normal;">[' . $remoteNew . ']</span>';
}Ich habe in meiner Testinstallation (mit vielen Erweiterungen) mal alle Seiten mit Sortieroptionen durchprobiert, und mir ist erstmal nichts Ungewöhnliches aufgefallen. Von mir aus kann man dieses . ' <span style="color:#b3b3b3; font-weight:normal;">[' . $remoteNew . ']</span>'auch ganz weglassen, weil es ja sowieso schon hinter den einzelnen Modulen steht. |
|
Das ist noch nicht die optimale Lösung IMHO. Da fällt uns sicherlich beim nächsten Call noch etwas besseres ein @contao/developers. |
|
Options laden, sortieren gem. Sprache und dann FIND_IN_SET(). Was anderes fällt mir da spontan auch nicht ein. |
|
Warum gibt es bei Dir eine Gruppe "HTML-Code"? Sollte da nicht "html" stehen? |
|
Ja, stimmt. Kommt vielleicht daher, weil es ein Feld in tl_module gibt, welches den gleichen Namen hat wie ein Modultyp. ? Von einer Erweiterung kommt es nicht, habe alle Erweiterungen durchsucht. |
|
Deswegen sage ich ja, dass das noch nicht die optimale Lösung ist. 😄 Außerdem funktioniert das zwar für diesen einen Fall, aber macht es auch in anderen Fällen Sinn? Wenn Mitglieder z.B. nach Land gruppiert sind, stünde da nur "de" und "fr" etc. Das wäre keineswegs aussagekräftig, wenn man nicht zufällig die ISO-Länderkürzel kennt. |
|
Ja, stimmt, dann dürfte die Sortierung nach Land für Mitglieder momentan auch nicht wirklich sortiert sein. Wir müssten also tatsächlich zuerst die Übersetzung holen und dann danach sortieren, für den Fall, dass |
|
Fände ich in Ordnung so. Ach, ist ja wie in meinem Beispiel oben unter SOLL (könnte). Oder? |
|
Stimmt. 😄 |
|
Geändert in 9675369. |
|
Thank you 💯 |



Wie auf dem Screenshot zu sehen ist, stimmt die Sortierung nicht.

Das liegt daran, dass nach dem Feldinhalt von
tl_module.typeund nicht nach dem Sprachbaustein sortiert wird. Beispiel: logout => Automatic Logout.Mit BE in DE und dann noch eigenen Erweiterungen, sieht das teilweise sehr schlimm aus. Zum Teil fehlt die Überschrift dabei auch komplett.
Wenn man diese Zeile
https://github.com/contao/core/blob/master/system/modules/core/dca/tl_module.php#L185
testweise auskommentiert
#'reference' => &$GLOBALS['TL_LANG']['FMD'],sieht man zwar nur den Feldinhalt als Headline (Beispiel: Article list => articleList), aber das sieht schon besser aus, die Sortierung stimmt (in allen Sprachen) und es gibt keine leeren Überschriften.
Man müsste also entweder aufwendig die Sortierung nach den Sprachbausteinen aufbereiten anstatt nach den Feldinhalten, oder für Felder, welche durch Sprachbausteine übersetzt werden, in den Headlines den Feldinhalt anstatt des Sprachbausteins anzeigen.
The text was updated successfully, but these errors were encountered: