Ergebnis 1 bis 9 von 9

Thema: Gruppierung mit Sortierung nach TranslatedText (select)

  1. #1
    Contao-Nutzer
    Registriert seit
    13.07.2011.
    Beiträge
    180

    Standard Gruppierung mit Sortierung nach TranslatedText (select)

    Hallo

    Ich habe ein etwas spezielles Problem.

    Wir haben eine Mitarbeiter-Liste, wobei jeder Mitarbeiter zu einem bestimmten Team gehören muss. Dies ist realisiert über ein eigenes MM für die Teams sowie beim Mitarbeiter über einen Select. Damit im Frontend die Leute richtig gruppiert werden verwende ich im Template usort mit einer eigenen Funktion, welche erst nach der Sortier-Spalte des Team-MMs ("reihenfolge") und darin nach der Sortier-Spalte der Mitarbeiter ("reihenfolge") sortiert. Soweit, so gut. Klappt einwandfrei. Damit werden die Mitarbeiter erst sauber nach ihrer Teamzugehörigkeit gruppiert/sortiert und innerhalb ihrer Teams werden sie ebenfalls passend sortiert. Ich kann so also pro Team eine Überschrift anzeigen, dann die Mitarbeiter des Teams aufführen und, sobald das Team wechselt, den nächsten Team-Titel anzeigen und dann mit den entsprechenden Mitarbeitern weiterfahren. Perfekt.

    Nun wird die Seite jedoch mehrsprachig und wir müssen die Team-Bezeichnung übersetzen. Dazu habe ich beim Team-MM das Attribut "Team" von "text" in "translatedtext" umgestellt und beim Mitarbeiter-MM den Team-Select von "Auswahl" in "translated select" geändert. Super, auch das funktionierte.

    Allerdings habe ich jetzt das Problem, dass die Sortier-Spalte der Teams nicht ausgeliefert wird ([data].[raw].[team] hat nur noch die Daten des Translatedtext und nicht des eigentlichen Team-MMs). Ich kann also im Template nicht mehr nach der Spalte "reihenfolge" des verknüpften MMs ("team") sortieren und damit geht die ganze Gruppierung flöten.

    Kann mir jemand sagen, wie ich das jetzt trotzdem sauber gruppiert/sortiert kriege?
    Ist relativ dringend, funktionierende Lösung wird gerne auch finanziell belohnt.


    Lieber Gruss
    Peri

  2. #2
    Contao-Fan Avatar von WilhelmTell
    Registriert seit
    12.12.2014.
    Beiträge
    316

    Standard

    Vor solch einer änderung sollte man zunächst ein backup von der datenbank durchführen.
    So wie ich MetaModels kenne, werden die daten nicht in den selben tabellen abgepeichert, was "single"-attribute und "translated"-attribute betrifft.
    Die daten der "single"-attribute kommen (bis auf ausnahmen) in die jeweilige mm_table (also mm_mitarbeiter, mm_team), die daten der "translated"-attribute meines wissens allerdings in die metamodelsattribute_translatedtext (was zum beispiel die text, translatedalias- und combinedvalues-attribute betrifft).
    Wechselt man jetzt mittendrin eines projektes von "single" auf "translated", findet meiner Meinung eine mixture statt, das die funktionsweise beeinträchtigt, schätze ich mal.
    Ich hätte in meinem projekt (wenn ich eins hätte), die beiden MetaModels ganz gelöscht, neu erstellt (translated) und die daten importiert. Frag' mich momentan aber nicht, wie ! Oder die daten neu eingeben, falls nicht zu viel aufwand.

  3. #3
    Contao-Nutzer
    Registriert seit
    13.07.2011.
    Beiträge
    180

    Standard

    Hi

    Zitat Zitat von WilhelmTell Beitrag anzeigen
    Vor solch einer änderung sollte man zunächst ein backup von der datenbank durchführen.
    Habe ich natürlich gemacht. Backup von DB und Template-Ordner.
    Von dem her kann ich nicht allzu viel falsch machen und immer wieder zur ursprünglichen Version zurückkehren. Immerhin.

    Zitat Zitat von WilhelmTell Beitrag anzeigen
    Wechselt man jetzt mittendrin eines projektes von "single" auf "translated", findet meiner Meinung eine mixture statt, das die funktionsweise beeinträchtigt, schätze ich mal.
    Ich hätte in meinem projekt (wenn ich eins hätte), die beiden MetaModels ganz gelöscht, neu erstellt (translated) und die daten importiert..
    Ich bin mir eben nicht sicher, wie sich MM hier verhält. Ich dachte eigentlich, dass diese "Vermischung" eh passiert, wenn man in einem MM übersetzte und nicht übersetzte Werte hat. Denn die nicht übersetzten Werte kommen, wie von dir beschrieben, ja wahrscheinlich direkt in die betroffene MM-Tabelle während die übersetzten Werte in den Tabellen "tl_metamodel_translatedIRGENDWAS" landen.

    In meinem Fall brauche ich aber halt im Frontend sowohl den Wert aus der Tabelle "tl_metamodel_translatedtext" (Team-Bezeichnung) sowie auch aus der direkten MM-Tabelle der Mitarbeiter (Sortierung der Teams).
    Wenn mir jemand sagen kann, dass eine zu Beginn festgelegte Definition des MM als mehrsprachig das Problem löst, dann nehme ich den Aufwand wohl auf mich. Wenn's aber nur um's Ausprobieren geht, dann scheue ich etwas davor zurück.


    Gruss,
    Peri

  4. #4
    Contao-Fan Avatar von WilhelmTell
    Registriert seit
    12.12.2014.
    Beiträge
    316

    Standard

    Zitat Zitat von Perikomarilensko Beitrag anzeigen
    zu Beginn festgelegte Definition des MM als mehrsprachig
    Die MM-Experten werden Dir sicherlich genau dies bestätigen.

  5. #5
    Contao-Nutzer
    Registriert seit
    13.07.2011.
    Beiträge
    180

    Standard

    Zitat Zitat von WilhelmTell Beitrag anzeigen
    Die MM-Experten werden Dir sicherlich genau dies bestätigen.
    Dann werd' ich es versuchen.

    Danke & Gruss
    Peri

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.786
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Perikomarilensko Beitrag anzeigen
    Damit im Frontend die Leute richtig gruppiert werden verwende ich im Template usort mit einer eigenen Funktion, welche erst nach der Sortier-Spalte des Team-MMs ("reihenfolge") und darin nach der Sortier-Spalte der Mitarbeiter ("reihenfolge") sortiert.
    das sollte man mit "pure SQL" auch hin bekommen - man muss dann in der Schleife eine temp. Variable machen, über die man prüft, ob ein neues Team begonnen hat

    - oder man übergibt nur die Teams an das Template und macht dort eine Abfrage zu den Mitarbeitern - siehe http://de.contaowiki.org/MetaModels_...ferenced_items

  7. #7
    Contao-Nutzer
    Registriert seit
    13.07.2011.
    Beiträge
    180

    Standard

    Hallo zonky

    Vielen Dank für Deinen Beitrag!

    Zitat Zitat von zonky Beitrag anzeigen
    oder man übergibt nur die Teams an das Template und macht dort eine Abfrage zu den Mitarbeitern - siehe http://de.contaowiki.org/MetaModels_...ferenced_items
    Danke für den Hinweis und den Link. Sieht spannend aus, werde ich beim nächsten Mal so umsetzen!

    Ich bin halt einfach noch nicht sooo tief in MM drin, dass ich alle Folgen einer Entscheidung abschätzen kann. Gerne lasse ich daher die Automatismen von MM laufen - insbesondere, da in diesem Fall ja auch die Mehrsprachigkeit automatisch funktionieren sollte (wahrscheinlich richtig, oder?).


    Gruss,
    Peri

  8. #8
    Contao-Fan Avatar von WilhelmTell
    Registriert seit
    12.12.2014.
    Beiträge
    316

    Standard

    In welchen Tabellen werden die MM-Daten abgespeichert ?
    Ich habe mal für mich versucht, eine Tabelle aufzustellen. Alles ohne Gewähr !
    MM-Daten - in welchen Tabellen

  9. #9
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.043

    Standard

    hallo wilhelm tell,

    die normalen daten werden in deinem mm_metamodel abgespeichert... die translated-values in den jeweiligen translated-tables von MM...

    lg.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •