Mehrere benutzerspezifische Listviews möglich?

Hier können Sie Fragen bezüglich der Benutzerverwaltung stellen.
Christian

Mehrere benutzerspezifische Listviews möglich?

Beitragvon Christian » Mi 21. Apr 2004, 18:22

Hallo.
Ist es möglich in einer Listview nur solche Dokumente anzuzeigen die dem selben Benutzer angehören wie die Listview_Seite selbst?

Wir möchten nämlich mehrere benutzerspezifische Newsboards realisieren. Die Anzahl derer wechselt ständig.

Danke,
Christian

PS: Wir setzen die Benutzerverwaltung Pro mit WE3 ein

Lars Tiede

Beitragvon Lars Tiede » Do 22. Apr 2004, 16:48

Das ist mit Bordmitteln nicht möglich.

Was man machen kann ist einen eigenen Filter einzubauen innerhalb der we:repeat Tags. Dann stimmt jedoch die webEdition-Zählung nicht mehr und mehrseitige Ausgaben werden ebenso problematisch.

Christian

Beitragvon Christian » Fr 23. Apr 2004, 11:00

Dank für die schnelle Antwort.

Wie könnte so ein Filter denn Aussehen? Es kommen ständig neue Benutzer dazu?

Ich müsste dann mit PHP den Benutzer der LV-Seite mit dem Benutzer der Detailseiten vergleichen und bei Übereinstimung ausgeben.

Wie greif ich denn auf diese Informationen zu?


Danke,
Christian

Lars Tiede

Beitragvon Lars Tiede » Fr 23. Apr 2004, 12:51

Hallo,

bei einem Dokument bekommen Sie folgendermaßen Besitzer (immer identifiziert durch seine ID) und so raus (die angegebenen Felder holen Sie mit $we_doc->Feldname):

Owners - kommaseparierte Liste von in den Dokumenteigenschaften ausgewählten Besitzern (es sei denn "nur Hauptbesitzer ist ausgewählt, dann ist das Feld leer)
CreatorID - User der das Dokument erstellt hat
ModifierID - User der das Dokument zuletzt geändert hat


Um nun zu erfahren wie Sie innerhalb der Listview die gleichen Informationen für das gerade durchlaufende Dokument zu erfahren benutzen Sie die folgenden Feldnamen (die Sie sich mit $lv->f(Feldname) holen):

wedoc_Owners - wie Owners oben
wedoc_CreatorID - wie CreatorID oben
wedoc_ModifierID - wie ModifierID oben


Einen Filter könnte man nun so bauen (exemplarisch hier mal für den Ersteller von Dokumenten durchgeführt):

Code: Alles auswählen


<!-- vor der listview -->

<?php
/* Ersteller des Dokuments speichern um nachher in der Listview vergleichen zu können */

$ersteller = $we_doc->CreatorID;
?>



<!-- innerhalb der we:repeat Tags -->

<?php
/* Ersteller des gerade durchlaufenden Dokuments holen und mit Ersteller des Dokuments vergleichen. Wenn gleich, dann Feld anzeigen, wenn nicht dann nicht */

$lv_ersteller = $lv->f("wedoc_CreatorID");
if ($lv_ersteller == $ersteller) : ?>


<!-- Dies ist der durch das if gefilterte Bereich -->


<?php endif; ?>

Christian

Beitragvon Christian » Mo 21. Jun 2004, 20:55

Hallo. Vielen Dank, funktioniert prima.

Das ganze ist jetzt leider doch noch etwas komplizierter.

Es kommt hinzu dass ein Benutzer mehrere Newsboards (aber alle mit den gleichen News) betreibt. Diese Newsboards haben jedoch alle eine unterschiedliche Optik (Logos, Navigation,...) aber die selbe Vorlage.

Das Problem dabei ist, dass sich wenn ich auf eine Detailseite gehe, die Optik nicht dynamisch ändert (passend zur Listview).

Das ganze hört sich für mich nach Datenbank-Modul an. Das Problem dabei wäre jedoch die TriggerID der Objekt-Listview. Die müsste dann dynamisch sein und von einem User (der keine Vorlagen bearbeiten darf) gesetzt werden.

Ausserdem müsste der Ersteller des Objekts mit dem Ersteller der Listview noch mit PHP verglichen werden um eine Benutzerspezifische ausgabe zu erhalten.

Ob das geht? Oder gibt es da vielleicht andere Szenarien?

Viele Grüße,
Christian


Zurück zu „Benutzerverwaltung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste