Ein kleines Problem (oder ich steh auf dem Schlauch...)

Code:
public function GroupOutput($group, $sortingMode, $firstOrderBy, $row){
$name = deserialize(base64_decode($row['name']));
return substr($name['de'],0,1);
}
Logischerweise dachte ich, dass er das für jeden Eintrag zur Sortierung neu ausführt. Damit ich den zB den Namen unter "N" habe, "Test" unter "T", usw.

Er macht das ganze einmal, sprich ich habe alles unter "P" wenn der erste Eintrag mit P beginnt.

Was will ich machen? Ich habe ein serialized array (Sprachen, daher das "de"), und will jetzt eine Sprache als default anzeigen

http://screencast.com/t/ZTQ0MDY2NWUt

Funktioniert auch soweit, nur leider die Sortierung nicht so ganz (wie gesagt, first come first serve, der sollte das mehrmals ausführen..)

Wo ist mein Denkfehler? Habe zu der Funktion auch recht wenig gefunden, normalerweise gugg ich mir dann andern code an, gibt aber leider keinen. Jemand ne Idee?

Dankeschön
Walle

PS: der ist mir bekannt: http://https://contao.org/issues/show/302