H :)
Ich möchte mit ein und dem selben Link Besucher auf unterschiedliche Modue umleiten.
Als einfachste Möglichkeit fiel mir da die Variante ein, in einem Modul abzufragen, in welcher Benutzergruppe der User ist und dann einfach auf das entsprechende Modul umzuleiten oder das Modul zu includen.
Soweit die Idee. Ist das praktikabel ?
Vor langer Zeit hatte mir Andi mal diesen Tip (http://www.pragmamx.org/Forum-topic-21405.html) für die Startseite gegeben und das nutze ich auch sehr häufig.
Nun brauch ich sowas aber wirklich als Modul. Da ich ja nicht wirklich in der Lage bin mir sowas zu schreiben und auch kein Modul gefunden habe wo ich mir das raussuchen kann muss ich hier nach Hilfe fragen.
Gruß Eismann
Hey das umzusetzten ist in den meisten fällen eigentlich ziemlich einfach.
z.B könntest du es folgendermaßen umsetzten.
Zitat
$uinfo = mxGetUserSession();
if($uinfo['user_ingroup'] == "1")
{
content oder weiterleitung für gruppe 1
}
elseif ($uinfo['user_ingroup'] == "2")
{
content oder weiterleitung für gruppe 2
}
else
{
alle anderen Gruppen
}
Ich hoffe ich konnte dir helfen.
LG Markus
Danke für die Hilfe.
So in der Art hatte ich das bereits aber er funktionierte nicht. Hab jetzt nochmal versucht Deinen Vorschlag umzusetzen.
<?php
defined('mxMainFileLoaded') or die('access denied');
$index = 1;
include ("header.php");
$uinfo = mxGetUserSession();
$module_name = basename(dirname(__FILE__));
if($uinfo['user_ingroup'] == '2')
{
echo "content oder weiterleitung für gruppe 2";
}
elseif ($uinfo['user_ingroup'] == '3')
{
echo "content oder weiterleitung für gruppe 3";
}
else
{
echo "alle anderen Gruppen";
}
include("footer.php");
?>
Ich lande allerdings immer bei alle anderen Gruppen egal in welcher Gruppe ich bin.
Wie erzeuge ich dann eigentlich die Weiterleitung zum richtigen Modul statt der Echoausgabe ?
Gruß Jörg
Moin :smile:
Probier das mal :
<?php
defined( 'mxMainFileLoaded' ) or die( 'access denied' );
settype ( $uinfo , 'array' );
$uinfo['user_ingroup'] = '';
if ( MX_IS_USER ) {
$uinfo = mxGetUserData();
}
// example targets
$targetmodul = array( '1' => 'Your_Account', '2' => 'Downloads', '3' => 'Web_Links' ); // etc.
if ( intval( $uinfo['user_ingroup'] ) > 0 && intval( $uinfo['user_ingroup'] ) <= count( $targetmodul ) ) {
// direkte Weiterleitung
header( 'Location: modules.php?name=' . $targetmodul[$uinfo['user_ingroup']] ); exit();
}
else {
include( 'header.php' );
echo 'undefined location for usergroup...';
include( 'footer.php' );
}
?>
ZitatIch lande allerdings immer bei alle anderen Gruppen egal in welcher Gruppe ich bin.
Dazu musst du neue Usergruppen einrichten. Die Standardusergruppe ist 'user' und hat die id = 1. Alle nachfolgend eingerichteten Usergruppen werden numerisch aufzählend eingerichtet (2, 3, 4, ...)
Hi :)
Sorry Siggi, ich konnte es noch nicht ausprobieren weil mein Board platt ist und ich nicht an meine ganzen Zugangsdaten rankam.
Ich werd jetzt mal basteln.
So,
gerade mal dazu gekommen. Funktioniert fast perfekt. Habe jetzt für alle andern ein Modul angegeben anstatt der Fehlermeldung.
Jetzt greift da allerdings der Seitencache. Sprich unregistrierte Gäste werden nur alle 5 Minuten weitergeleitet (Cachezeit). Vorher kommt ne weiße Seite bzw. halt die Fehlermeldung mit wenn man die drin lässt.