Inhalt je nach Usergroup anders ?

Begonnen von m-t, 13 April 2006, 00:11:40

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

m-t

Ich hätte gern den Inhalt verschiedener Seiten je nach User anders.

So funktioniert das auch aber das geht eben nur nach User oder Admin.


if (MX_IS_ADMIN || MX_IS_USER)
{
echo "<tr><td class=\"main\" align=\"left\">
Inhalt 01
</td></tr>";
}


der Normal User kriegt


echo "<tr><td class=\"main\" align=\"left\">
Inhalt 02
</td></tr>";


zu sehen.

Ist das auch möglich nach Usergroup hat das schon jemand probiert ?

jubilee

ZitatIst das auch möglich nach Usergroup hat das schon jemand probiert ?

Ja, auch das geht.
Dazu brauchst Du die jeweilige Gruppen-ID
Dazu Dein Beispiel angepasst :


$information=mxGetUserData();
if ($information['user_ingroup']=2) //Hier die jew. Usergruppenid angeben.
{
    echo "<tr><td class=\"main\" align=\"left\">
    Inhalt 01
    </td></tr>";
}



MfG




RiotheRat

Da hier sicherlich mehrere Angebote erstellt werden (sollen) würde ich das allerdings mit einem switch/case abarbeiten - incl. einem Default ... ist imho "sauberer" wie x if-Anweisungen als Kontrollkonstrukt ...

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

m-t

Zitat von: jubilee am 16 April 2006, 17:38:29
ZitatIst das auch möglich nach Usergroup hat das schon jemand probiert ?

Ja, auch das geht.
Dazu brauchst Du die jeweilige Gruppen-ID
Dazu Dein Beispiel angepasst :


$information=mxGetUserData();
if ($information['user_ingroup']=2) //Hier die jew. Usergruppenid angeben.
{
    echo "<tr><td class=\"main\" align=\"left\">
    Inhalt 01
    </td></tr>";
}



Hui, danke :-)

jetzt schau ich mal wo ich die Group ID herbekomme :-)

Zitat von: RiotheRat am 16 April 2006, 18:06:55
Da hier sicherlich mehrere Angebote erstellt werden (sollen)

Nicht ganz, es soll nur (ein) Preis sichtbar sein für normale Besucher der Seite und einer für Reseller, das wars.

Es ging erstmal nur darum obs überhaupt möglich ist.

Bisher hab ichs so dass jetzt eben nur Reseller als User akzeptiert werden. Ist bei dem Thema der Seite aber auch egal denk ich, ne Community solls da glaub eh nicht geben. Mir wärs aber trotzdem über die groupid lieber.

Danke schonmal, werds heute Nacht testen :-)

P.S: Danke auch an olaf, von einer seiner Seiten kam ne gute Idee ;-)

m-t

Habs doch kurz testen müssen...

Wenn ich das drin hab:

$information=mxGetUserData();
if ($information['user_ingroup']=2) //Hier die jew. Usergruppenid angeben.


seh ich immer den falschen Preis, egal ob ein- oder ausgeloggt :-(

jubilee

Zitatseh ich immer den falschen Preis, egal ob ein- oder ausgeloggt :-(

Hast Du denn die entspr. Usergruppenid aus dem Beispiel gegen eine, bei Dir im System
vorhandene,  ausgewechselt ?
Die Usergruppenid stehen in der Tabelle {prefix}_groups_access.
access_id  = Die Gruppenid
acces_title = Gruppenname wie er auch im Admin-Menü angezeigt wird.

MfG

m-t

jo klar :-)

Die ist aber gleich. Man sieht sie auch wenn man die Gruppe editiert.

RiotheRat

Da ist ein Tippfehler in der Bedingungsprüfung ...
Alt:if ($information['user_ingroup']=2)
Neu:if ($information['user_ingroup']==2)
Es soll ja kein Wert zugewiesen, sondern ein Wert geprüft werden ...

Lösbar auch so ...
if (isset($mx_gruppe)) {
unset($mx_gruppe);
}

// Userdaten auslesen
$information=mxGetUserData();
// Gruppenzugehoerigkeit in temporaere Variable packen
$mx_gruppe = $information['user_ingroup'];

// Tabellenzeile oeffnen
echo "<tr><td class=\"main\" align=\"left\">";

// Ausgabe nach Gruppenzugehoerigkeit
switch ($mx_gruppe) {
case 2:
// Die Gruppen-Id ist gleich -2-
echo "Preisangabe f&uuml;r Gruppe 2";
break;
default:
// Standard-Ausgabe fuer alle anderen
echo "Preisangabe f&uuml;r alle anderen";
}

// Tabellenzeile schliessen
echo "</td></tr>";

// Aufraeumen
unset($mx_gruppe);


RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

m-t

Zitat von: RiotheRat am 17 April 2006, 16:25:03
Da ist ein Tippfehler in der Bedingungsprüfung ...

Jetzt klappts  :thumbup:

Habs jetzt so:


$information=mxGetUserData();
if ($information['user_ingroup']==2) //Hier die jew. Usergruppenid angeben.

{
echo "<tr><td class=\"header\" style=\"font-weight:900\" align=\"left\">Resellerpreise</td></tr>";
}

else

{
echo "<tr><td class=\"header\" style=\"font-weight:900\" align=\"left\">Preise</td></tr>";
}


aber um nochmal darauf

Lösbar auch so ...

zurückzukommen...

abgesehen von einigen Zeilen mehr... Wo ist der Unterschied, bzw. warum findest diese Lösung sauberer?

Das Ergebniss ist ja das gleiche. Zumindest für mich als Anfänger :-)

RiotheRat

Es ist flexibler  ;) Sollte noch eine Gruppe dazu kommen (man weiss ja nie) geht das if / elseif / else - Gekriggel los. Sollte noch eine Gruppe dazu kommen if / elseif / elseif / else, usw.

Ausserdem ... sollte jemand mal nach der Möglichkeit suchen Gruppen versch. Content anbieten zu wollen, dann fin det Er mit dem zweiten Codeschnippsel eine flexiblere Lösung vor.

Und um bei Deinem Beispiel zu bleiben:echo "<tr><td class=\"header\" style=\"font-weight:900\" align=\"left\">";

$information=mxGetUserData();

if ($information['user_ingroup']==2) //Hier die jew. Usergruppenid angeben.
{
echo "Resellerpreise";
}
else
{
echo "Preise";
}

echo "</td></tr>";

Das macht den Code noch etwas kürzer und nicht schwerer lesbar. Die doppelte Verwendung von "<tr><td class=\"header\"..." ist unnötig und kann wie o.g. geändert werden.

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

m-t

Zitat von: RiotheRat am 17 April 2006, 18:52:36
Es ist flexibler  ;) Sollte noch eine Gruppe dazu kommen (man weiss ja nie)

Hm... ok, aber mehr Gruppen wirds nich geben :-)

Aber ich habs mir mal abgespeichert.

Zitat
Und um bei Deinem Beispiel zu bleiben:

Danke aber da steckt noch ne komplette Tabelle mit 23 Zeilen und 9 Preisangaben drin ;-)
Ich habs nur etwas gekürzt damits hier nicht zu lang wird.

P.S. das Thema passt jetzt wohl eher in die -Coder und Bastlerecke-

Danke auf jedenfall mal, jetzt hab ich wieder zu tun fürn paar Tage :-(

m-t

ganz tollllll...

jetzt ist alles geklärt ich installier pragmamx auf nem T-Offline Hostingpaket weil der gute Mann nicht unbedingt wechseln möchte und was merkt man da...

Die erlauben keinerlei .htaccess Dateien, wie soll ich denn da mod_rewrite zum laufen bringen ?

Sorry, aber ich muß grad einfach mal meinen Frust ablassen :-(
da wechselt man den Anbieter um solchem Mist zu entgehen und nun das... :noe:  :knockout: