Shopsystem ShopPilot

ShopPilot => SSP - Shop Server Pages => Thema gestartet von: dobra am Oktober 30, 2008, 11:35:20

Titel: Infos nur bestimmten Benutzergruppen anzeigen
Beitrag von: dobra am Oktober 30, 2008, 11:35:20
Hallo,

Aufgabe:
Infos (z.B. der Lagerstand, interne Informationen oder was auch immer) sollen auf Seiten, die für alle sichtbar sein sollen nur bestimmten Besuchergrppen (Beispiel: Vertreter, Stammkunden, Admin) im Shop angezeigt werden.

Lösung:
ein benutzerdefiniertes Händlerfeld anlegen  -  im Beispiel "GRUPPE1"
in dieses Feld die login-Namen alle user eintragen, die die Infos sehen sollen.

der ssp-Code:
<!--spmacro:module(check)
sub gruppe1 {
my $user = ssp::get_var_user('login');
my $gruppe1 = ssp::get_var_merch('GRUPPE1');
my $showgruppe1;
if ($gruppe1 =~ /$user/) {
$showgruppe1 = qq| ... hier kommt alles rein, was nur für Gruppe 1 angezeigt werden soll ...|;
}
                       main::mprint $showgruppe1;
}
-->

auf der HTML-Seite wird dann mit __check::gruppe1__  nicht berechtigten Besuchern NICHTS angezeigt.
Ist der Besucher eingeloggt und steht sein Loginname im GRUPPE1-Feld, sieht er die nur für diese Benutzergruppe freigegebenen Infos.

Es können so natürlich beliebig viele verschiedene Benutzergruppen angelegt werden.

Nachtrag:
wenn man keine benutzerdefinierten Händlerfelder anlegen kann, gehts auch so:
ein benutzerdefiniertes Kundenfeld anlegen
(im Beispiel "GRUPPE1")
bei berechtigten Kunden hier "OK" eintragen

der Code schaut dann so aus
<!--spmacro:module(check)
sub gruppe1 {
my $gruppe1= ssp::get_var_user('GRUPPE1');
my $showgruppe1;
if ($gruppe1 eq "OK") {
$showgruppe1 = qq| ... hier kommt alles rein, was nur für Gruppe 1 angezeigt werden soll ...|;
}
                       main::mprint $showgruppe1 ;
}
-->