Zum Inhalt springen

feuserlisting: Angezeigte Usergruppe aus String auslesen

Erstellt am 29. Mai 2008 · Noch keine Antworten

Tags: Frage

Unbekannter Benutzer ·

Hallo zusammen...

Ich arbeite grad an einem Projekt, bei welchem verschiedene Firmen der Region in einem Verzeichnis aufgelistet sind. Die Firmen sind je nach Branche in verschiedene Benutzergruppen eingeteilt (f.e. Bau: Hochbau, Bau: Tiefbau, Bau: Maler/Gipser, Immobilien: Handel, Immobilien: Verwaltung, ...)

Nun möchte ich bei der Benutzerliste gerne nur eine bestimmte Benutzergruppe anzeigen lassen. Wenn ich die Konfiguration direkt im TS Setup vornehme mit z.B.

groupSelectmode = 1
groupSelection = 12

funktioniert alles einwandfrei. Da die verschiedenen Branchen jedoch mittels einem automatisch generierten Menü ausgewählt werden sollen, gebe ich eine Variable "usergroup" mit, welche anschliessend aus dem String ausgelesen und der "groupSelection" zugewiesen werden soll... Also beispielsweise meinedomain.com/index.php?id=666&usergroup=12

Kopiert aus ext_typoscript_setup.txt:

## USER LISTING
plugin.tx_feuserlisting_pi1 {
    CMD =
    pidList =
    recursive =
    groupSelectmode = 
    groupSelection = 
}

Einige meiner (kläglich gescheiterten) Versuche:

plugin.tx_feuserlisting_pi1 {
    groupSelectmode = 1
    groupSelection = GPvar:usergroup
}
plugin.tx_feuserlisting_pi1 {
    groupSelectmode = 1
    groupSelection = TEXT
    groupSelection.data = GPvar:usergroup
}

Die beiden oben genannten Beispiele habe ich u.a. auch direkt mit "plugin.tx_feuserlisting_pi1.groupSelection =" getestet, um auszuschliessen, dass "GPvar:usergroup" in geschweiften Klammern {} nicht funktioniert.

...und die m.E. logischste Lösung (die aber auch nicht funzt):

temp.var = TEXT
temp.var.data = GPvar:usergroup

plugin.tx_feuserlisting_pi1 {
    groupSelectmode = 1
    groupSelection < temp.var
}

-> temp.var liest die Variable sauber aus dem String; ich habe diese zu Testzwecken als Text in der Seite ausgegeben. Es scheitert also wirklich 'nur' an der Zuweisung des Wertes an plugin.tx_feuserlisting_pi1.groupSelection .

Ich war schon kurz davor, das Ganze mit Conditions zu lösen und einfach eine Konstante "usergroup" anzulegen mit dem entsprechenden Wert, der dann mit "plugin.tx_feuserlisting_pi1.groupSelection = {$usergroup}"
eingebunden wird. Das würde funktionieren, ergibt aber bei bisher bereits mehr als 50 Benutzergruppen einige Zeilen (unnötigen) Code und da in Zukunft vom Kunden selber weitere Gruppen angelegt werden, schränkt das natürlich ein wenig ein. (Und einfach mal Conditions auf Vorrat für bis zu usergroup=100 anzulegen macht ja auch nicht wirklich Sinn...)

Ich habe gestern x Stunden damit verbracht, verschiedene Lösungsansätze auszuprobieren und zu testen, aber ich krieg's echt nicht auf die Reihe. Ich wäre euch wirklich dankbar, wenn ihr euch das mal anschauen könntet, und evtl. noch eine Idee habt, die ich noch nicht ausprobiert habe.

Danke & Gruss.
Matthias.

>>> Gleiches Thema auf typo3forum.net <<<