Search the FirstSpirit Knowledge Base
Und erneut hallo zusammen!
ich habe folgendes "Problem" und frage mich ob es dazu eine einfache Lösung gibt:
Wir haben eine Datenquelle mit Fachbegriffen des Kunden. Diese sollen alphabetisch ausgegeben werden, soweit so gut.
Nun soll jedoch ein Begriff (der Markenname) komplett kleingeschrieben werden. Dadurch würde dieser immer ans Ende der Liste rutschen.
Gibt es einen (einfachen) Weg den Begriff entweder wie mit Großbuchstabe einzusortieren (also alphabetisch case-insensitve) oder etwa immer an erste Stelle der Liste zu setzen?
Vielen Dank und eine schöne Woche!
- Sam
Hallo Sam,
wir standen vor einiger Zeit vor einem ähnlichen Problem und haben das bei der Ausgabe eines contentSelects über einen Abbildungs-Ausdrucke (Lambda-Ausdruck) gelöst:
$CMS_FOR(st_for_entry, st_fr_contentSelect.copy.sort(x -> x.name.toLowerCase().replaceAll("ä","a").replaceAll("ö","o").replaceAll("ü","u")))$
$-- Ausgabe --$
$CMS_END_FOR$
Viele Grüße
Robin
Hallo Sam,
bei Robins Ansatz muss man etwas vorsichtig sein, das ist zwar recht schnell gemacht und kann bei wenigen Datensätze passen (aus dem Bauch heraus würde ich mal sagen zweistelliger bis unterer dreistelliger Bereich). Damit werden die Datensätze nämlich erstmal alle in den Speicher geladen und vor allem zumindest während der Schleife auch gehalten.
Man kann die "case-Sensitivity" hier soweit ich weiß bei der Abfrage selber nicht beeinflussen. Mir fallen hier - außer Robins Vorschlag - noch spontan folgende Varianten ein:
Die erste Variante wäre flexibler und konzeptuell "sauber", die zweite ist irgendwie ein bisschen "gemogelt" 😉
Viele Grüße
Michael
Je nachdem welche Datenbank ihr verwendet, solltet ihr einfach die Collation von case-sensitive auf case-insensitive stellen können.
Hallo Sam,
benötigst Du noch weitere Hilfe oder haben Dir die Antworten von Robin, Michael und Christoph bereits geholfen? In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung
gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Tim
Hallo nochmal und vielen Dank allen Antwortenden!
Der Kunde hat sich kurzer Hand dazu entschieden den Begriff dann doch einfach Groß zu schreiben, das Thema hat sich also quasi vom Liegenbleiben erledigt.
Wir arbeiten hier mit Legacy Code anderer Firmen, ist also nicht immer alles so ideal gebaut wie es hätte sein können.
Welche Lösung hier nun die "richtige" ist, kann ich also leider nicht sagen.
Dennoch nochmals vielen Dank an euch alle!