Nach Frontend-Login direkt zur gewünschten Seite
Hallo tinof,
danke, funktioniert jetzt mit Möglichkeit 2.
Ich hatte aber unterhalb des geschützten Bereichs eine weitere ungeschützte Kategorie mit dem Anmeldenamen, trotzdem kein Sprung dorthin!
so ists aber okay für mich.
PS Gehört nicht hierhin, trotzdem 2 Zeilen: der geschützte Navipunkt wird immer angezeigt auch wenn ich nicht eingeloggt bin. Ist das normal? Ich dachte er wird nur quasi eingeblendet wenn eingeloggt - ich nutzte vpNavigation! Hast du einen Tipp?
danke, funktioniert jetzt mit Möglichkeit 2.
Ich hatte aber unterhalb des geschützten Bereichs eine weitere ungeschützte Kategorie mit dem Anmeldenamen, trotzdem kein Sprung dorthin!
so ists aber okay für mich.
PS Gehört nicht hierhin, trotzdem 2 Zeilen: der geschützte Navipunkt wird immer angezeigt auch wenn ich nicht eingeloggt bin. Ist das normal? Ich dachte er wird nur quasi eingeblendet wenn eingeloggt - ich nutzte vpNavigation! Hast du einen Tipp?
Hallo,
komisch, mit einer Kategorie == Benutzernamen geht's bei mir - deshalb habe ich das ja überhaupt angepasst (n Außendienstler, die je einen eigenen geschützten Bereich haben, in den sie das Login sofort schickt).
Die vpNavigation kenne ich leider nicht (habe erst zu Beginn des Jahres mit Contenido begonnen) - vielleicht kann jemand anderes helfen ?
Du hast recht, so lange man nicht eingeloggt ist, sollte man keine geschützten Kategorien oder ihre unterkategorien sehen, in der Standardnavi ist das so (erwartungsgemäß).
Grüße
Tino
komisch, mit einer Kategorie == Benutzernamen geht's bei mir - deshalb habe ich das ja überhaupt angepasst (n Außendienstler, die je einen eigenen geschützten Bereich haben, in den sie das Login sofort schickt).
Die vpNavigation kenne ich leider nicht (habe erst zu Beginn des Jahres mit Contenido begonnen) - vielleicht kann jemand anderes helfen ?
Du hast recht, so lange man nicht eingeloggt ist, sollte man keine geschützten Kategorien oder ihre unterkategorien sehen, in der Standardnavi ist das so (erwartungsgemäß).
Grüße
Tino
Für die Freizeit : www.hobbybrauer.de
Hi,
spontan fällt mir noch ein : Groß/Kleinschreibung ? Sind Kategoriename und Nutzername wirklich gleich ?
Ansonsten, richte mir doch mal einen Backend - Zugang ein und schicke mir 'ne PM - ich schau's mir mal an. Es kann durchaus sein, dass auch mein Script noch so seine Macken hat.
Grüße
Tino
spontan fällt mir noch ein : Groß/Kleinschreibung ? Sind Kategoriename und Nutzername wirklich gleich ?
Ansonsten, richte mir doch mal einen Backend - Zugang ein und schicke mir 'ne PM - ich schau's mir mal an. Es kann durchaus sein, dass auch mein Script noch so seine Macken hat.
Grüße
Tino
Für die Freizeit : www.hobbybrauer.de
Hab den Code des Moduls noch geringfügig geändert, weil manchmal die Datenbankabfrage keine korrekten Ergebnisse lieferte.
Änderungen in meinem Post mit dem Modulcode eingearbeitet.
Änderungen in meinem Post mit dem Modulcode eingearbeitet.
Für die Freizeit : www.hobbybrauer.de
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
@HerrB JA! Danke !
Und jetzt die sicher ganz dumme Frage : Wie bekomme ich eine solchen Link direkt zu einem Beitrag ??
Beí <EDIT> den p=12345 Parameter anschauen ? Oder noch einfacher ?
Nochmal Danke!
Tino
Und jetzt die sicher ganz dumme Frage : Wie bekomme ich eine solchen Link direkt zu einem Beitrag ??
Beí <EDIT> den p=12345 Parameter anschauen ? Oder noch einfacher ?
Nochmal Danke!
Tino
Für die Freizeit : www.hobbybrauer.de
Zum einen kannst Du den Link nehmen, der unterhalb des Contenido-Logos die Überschrift darstellt (Dein Topic) oder Du nimmst den Link, der sich hinter dem kleinen Blatt links neben "Posted" bzw. "Gepostet" bei jedem Beitrag findet.
Ich verwende englisch als Spracheinstellung, falls die Beziechnung nicht ganz stimm: neben dem Namen des Autors steht bei jedem Beitrag ein kleines, weißes Blatt (neben dem Datum des Beitrags).
Gruß
HerrB
Ich verwende englisch als Spracheinstellung, falls die Beziechnung nicht ganz stimm: neben dem Namen des Autors steht bei jedem Beitrag ein kleines, weißes Blatt (neben dem Datum des Beitrags).
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Weiterleitung statt an Benutzername an Frontend-Gruppe?
Hallo zusammen,
ich hab Herrn Faeustels Modul mal bei mir getestet, läuft wunderbar.
Nun die Spezialfrage: Wie konfiguriere ich die Variable $weiter so um,
dass statt des Benutzernamens die Frontenduser-Gruppe zur Weiterleitung herangezogen wird?
Ich führe verschiedene Frontenduser-Gruppen, und je nach Gruppe soll eine eigene Seite nach Login automatisch aufgerufen werden.
Bsp. für Vertriebspartner sollte eine Kategorie "Vertriebspartner" sein mit einem Startartikel der die Vertriebspartner im internen Vertriebsbereich willkommen heißt.
Für Kunden sollte eine Kategorie "Kunden" sein mit einem Startartikel der den Benutzer im Kundenbereich willkommen heißt.
Ich bin leider mit den verwendeten Variablen in Contenido noch nicht ganz fit, denke aber das die Änderung ein Klacks ist.
Danke schonmal
Carsten
ich hab Herrn Faeustels Modul mal bei mir getestet, läuft wunderbar.
Nun die Spezialfrage: Wie konfiguriere ich die Variable $weiter so um,
dass statt des Benutzernamens die Frontenduser-Gruppe zur Weiterleitung herangezogen wird?
Ich führe verschiedene Frontenduser-Gruppen, und je nach Gruppe soll eine eigene Seite nach Login automatisch aufgerufen werden.
Bsp. für Vertriebspartner sollte eine Kategorie "Vertriebspartner" sein mit einem Startartikel der die Vertriebspartner im internen Vertriebsbereich willkommen heißt.
Für Kunden sollte eine Kategorie "Kunden" sein mit einem Startartikel der den Benutzer im Kundenbereich willkommen heißt.
Ich bin leider mit den verwendeten Variablen in Contenido noch nicht ganz fit, denke aber das die Änderung ein Klacks ist.
Danke schonmal

Carsten
Hallo tinof,
ich habe das Login-Modul auf einer einzelnen Seite im "Main-Content" eingebaut. Einloggen mit Weiterleitung auf die geschützte Kategorie funktioniert wunderbar! Jedoch der Link für Logout hat eine falsche idcatart.
Wenn ich mich nun nicht auslogge und auf eine andere Kategorie gehe und dann wieder zurück zur Kategorie mit dem Login-Modul steht da statt "login" jetzt "Logout" und an dieser Stelle mit richtiger idcatart.
Nur auf der Geschützten Kategorie ist der Link falsch.
Kannst du dich reindenken und hast eine Idee was da falsch ist?
Oder hat jemand anderes eine Idee?
Grüße,
stefkey
ich habe das Login-Modul auf einer einzelnen Seite im "Main-Content" eingebaut. Einloggen mit Weiterleitung auf die geschützte Kategorie funktioniert wunderbar! Jedoch der Link für Logout hat eine falsche idcatart.
Wenn ich mich nun nicht auslogge und auf eine andere Kategorie gehe und dann wieder zurück zur Kategorie mit dem Login-Modul steht da statt "login" jetzt "Logout" und an dieser Stelle mit richtiger idcatart.
Nur auf der Geschützten Kategorie ist der Link falsch.
Kannst du dich reindenken und hast eine Idee was da falsch ist?
Oder hat jemand anderes eine Idee?
Grüße,
stefkey
@ckemper:
Sorry, hab den Post erst jetzt gelesen!
@stefkey, @ckemper
Anfragen sind registriert, ich komme nur nicht sofort dazu mir das anzuschauen, gebt mir bitte 2-3 Tage.
Sorry, hab den Post erst jetzt gelesen!
@stefkey, @ckemper
Anfragen sind registriert, ich komme nur nicht sofort dazu mir das anzuschauen, gebt mir bitte 2-3 Tage.
Für die Freizeit : www.hobbybrauer.de
So, ich war fleissig
Hier eine neue Version des Moduls mit den Änderungen:
- <Logout> funktioniert auch aus geschuetzten Seiten heraus (@stefkey)
- Weiterleitung wahlweise über Usernamen oder den Namen der ersten Gruppe zu der der User gehört (alphabetisch aufsteigend sortierte Gruppennamen)
Hinweis zur Weiterleitung: man kann den Modus jetzt in der Artikelkonfiguration einstellen. Das Problem dabei ist, man muß alle Kategorien und Artikel anfassen, in denen das Loginodul auftaucht und die eine eigene Konfiguration haben. Wer das nicht möchte, ändert (global) im output folgendes :
in
und ignoriert die Konfigurationsmöglichkeit beim Artikel
und hier ist es:
INPUT:
OUTPUT:

Hier eine neue Version des Moduls mit den Änderungen:
- <Logout> funktioniert auch aus geschuetzten Seiten heraus (@stefkey)
- Weiterleitung wahlweise über Usernamen oder den Namen der ersten Gruppe zu der der User gehört (alphabetisch aufsteigend sortierte Gruppennamen)
Hinweis zur Weiterleitung: man kann den Modus jetzt in der Artikelkonfiguration einstellen. Das Problem dabei ist, man muß alle Kategorien und Artikel anfassen, in denen das Loginodul auftaucht und die eine eigene Konfiguration haben. Wer das nicht möchte, ändert (global) im output folgendes :
Code: Alles auswählen
$linkmode = "CMS_VALUE[1]";
Code: Alles auswählen
$linkmode = 0; -- fuer Weiterleitung ueber Usernamen
--oder
$linkmode = 1; -- fuer Weiterleitung ueber Gruppennamen
und hier ist es:
Code: Alles auswählen
Einfaches Login-Modul
Erweitert um automatische Weiterleitung zu 'persönlichem' geschützten Bereich
Author: Andreas Lindner / Tino Fäustel
Version:2.0
Aenderungen : 05.09.07 : Weiterleitung auch ueber den (ersten) Namen der (ersten) Gruppe, zu der der User gehoert.
Code: Alles auswählen
?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Login mit Weiterleitung
* Author(s) : Tino Faeustel, www.faeustel.de
* Created : 05.09.2007
************************************************/
$cms_mode = "CMS_VALUE[1]";
function getSel($value) {
global $cms_mode;
if ($value == $cms_mode) {
return 'selected="selected"';
} else {
return "";
}
}
echo '<table cellpadding="0" cellspacing="0" border="0">';
echo '<tr><td>Modus:</td><td class="text_medium" style="padding:5px">';
echo '<select name="CMS_VAR[1]" style="width:300px">';
echo '<option value="0" '. getSel(0) .'> Weiterleitung über Usernamen.</option>';
echo '<option value="1" '. getSel(1) .'> Weiterleitung über Gruppennamen.</option>';
echo '</select> <input type="image" src="images/submit.gif">';
echo '</td></tr>';
echo '</table>';
?><?php
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Loginbox
* Author(s) : Andreas Lindner (erweitert v. Tino Faeustel)
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 05.08.2005
************************************************/
$linkmode = "CMS_VALUE[1]";
#Includes
cInclude('classes', 'class.template.php');
global $loginflag;
// merken (s.u.)
if ( !$sess->is_registered('loginflag' )) $sess->register('loginflag');
/**
* Preferences : Im geschützten Bereich gibt es für jeden Frontendbenutzer eine eigene Kategorie
* die mit dem Benutzernamen bezeichnet wird.
* Das Loginformular ruft automatisch den Startartikel dieser Kategorie auf, unabhängig
* davon von welcher Seite aus es aufgerufen wird.
*/
// Weiterleitung ueber Gruppe : Gruppenname ermitteln
function getfirstgroup($uid) {
global $cfg, $client;
$db = new DB_Contenido;
$sql="SELECT groupname FROM " .
$cfg['tab']['frontendgroups'] . " fg, " .
$cfg['tab']['frontendgroupmembers'] . " gm
WHERE fg.idfrontendgroup = gm.idfrontendgroup AND
gm.idfrontenduser = ". $uid . " AND fg.idclient = " .$client .
" ORDER BY groupname LIMIT 0,1";
$db->query($sql);
if ($db->next_record()) {
return $db->f('groupname');
} else {
return "";
}
}
// ermitteln einer Kategorie zu einem Benutzernamen
function getstartcat($username){
global $cfg, $lang, $idcatart;
$db = new DB_Contenido;
$sql = "SELECT idcat FROM " . $cfg['tab']['cat_lang'] . " cat_lang " .
"WHERE cat_lang.name = '". $username . "' AND cat_lang.idlang = " .$lang;
$db->query($sql);
if ($db->next_record()) {
return "idcat=" . $db->f('idcat');
} else {
return "";
}
}
// fuer Ausgabe
if ( !is_object($tpl) ) {
$tpl = new Template;
}
$tpl->reset();
if ($auth->auth["uid"] == "nobody"){
// nicht angemeldet -> 'normal'
$template = 'login.html';
$tpl->set('s', 'FORM_ACTION', 'front_content.php?idcatart='.$idcatart);
$tpl->set('s', 'USERNAME', mi18n("Username"));
$tpl->set('s', 'PASSWORD', mi18n("Passwort"));
$tpl->set('s', 'GO', mi18n("Go"));
$tpl->set('s', 'LOGIN', mi18n("Login"));
$tpl->generate('templates/'.$template);
// Login - Flag Init / Reset
$loginflag=0;
} else {
if (($loginflag == 0) ){
// nur beim ersten mal
$loginflag = 1; // wegen 'erstes Mal'
if ($linkmode == 0) {
// ueber username
$weiter = getstartcat($auth->auth["uname"]); // das ist die Zielcat oder 'idcatart=162';
} else {
// ueber gruppe
$weiter = getstartcat(getfirstgroup($auth->auth["uid"]));
}
if (($weiter != "") AND ( ! $edit) ) { // nur wenn passende Kategorie vorhanden und NICHT im Backend
// dann sofort Weiterleitung
echo '<meta http-equiv="refresh" content="0; URL=' . $sess->url("front_content.php?" . $weiter) .'">';
}
} else {
// sonst wie immer
$template = 'logout.html';
$tpl->set('s', 'CURRENT_USERNAME', mi18n("Sie sind angemeldet als"));
$tpl->set('s', 'USERNAME', $auth->auth["uname"]);
// $tpl->set('s', 'HREF', 'front_content.php?idcatart='.$idcatart.'&logout=yes');
$tpl->set('s', 'HREF', 'front_content.php?logout=yes');
$tpl->set('s', 'LOGOUT', mi18n("Logout"));
$tpl->generate('templates/'.$template);
}
}
?>
Für die Freizeit : www.hobbybrauer.de
tinof hat geschrieben: ...
...
...
Hinweis :
Wenn man den Nutzernamen lieber als Kategorie - Alias hinterlegen möchte (und dann die Kategorie frei benennen), ist folgende Änderung in function getstartcat() nötig :
ersetzen durchCode: Alles auswählen
"WHERE cat_lang.name = '". $username . "' AND cat_lang.idlang
...Code: Alles auswählen
"WHERE cat_lang.urlname = '". $username . "' AND cat_lang.idlang
...
...
Mit der neuen Version war das natürlich weg und mein die Weiterleitung funktionierte nicht mehr!
Aber ich habs gefunden nachdem ich Buchstabe für Buchstabe des alten mit dem neuen Code verglichen habe!
Ich hab leider keine Ahnung sonst hätte ich direkt gewusst was Sache ist.
Danke und viele Grüße
stefkey
Login-Erweiterung von tinof
Hallo,
erst mal besten Dank für die Erweiterung des Loginmoduls von tinof. Das klappt soweit ganz gut. Ich möchte mit meinem Login-Modul aber noch einen Schritt weitergehen.
Folgendes Szenario:
Ich habe mehrere Gruppen (Vertriebspartner, Interessenten, Kunden).
Jeder einzelnen Gruppe will ich eine eigene Startseite im geschlossenen Bereich zuordnen, auf die das System beim Login eines Benutzers der jeweiligen Gruppe springt. Und jedesmal, wenn der eingeloggte Benutzer den Menüpunkt "geschlossener Bereich" anklickt, muß er wieder auf seine Gruppenstartseite zurückkommen.
Derzeit löse ich das Problem wie folgt:
Im geschlossenen Bereich gibt es eine Startseite mit einem Text, dass der Benutzer bitte seine Zugangsdaten links im Menü eintragen soll.
Gleichzeitig enthält der Artikel das Modul "Internbereich Weiterleitung" mit folgendem Inhalt:
Meine Frage dazu:
Ich linke per Login-Modul auf diese Startseite des geschlossenen Bereichs, der dann mit obigem Code überprüft ob für den Benutzer eine der Gruppen hinterlegt ist.
Ist dieser Code so brauchbar oder kann man das eleganter lösen (z. B. im Login-Modul von tinof für die Gruppen eine Startseite übers Backend steuern).
Die jeweilige Weiterleitung kostet obendrein jedesmal Zeit und unser Webserver bei 1&1 ist nicht immer der schnellste.
Für Tips und Anregungen bin ich dankbar.
Gruß
Carsten
erst mal besten Dank für die Erweiterung des Loginmoduls von tinof. Das klappt soweit ganz gut. Ich möchte mit meinem Login-Modul aber noch einen Schritt weitergehen.
Folgendes Szenario:
Ich habe mehrere Gruppen (Vertriebspartner, Interessenten, Kunden).
Jeder einzelnen Gruppe will ich eine eigene Startseite im geschlossenen Bereich zuordnen, auf die das System beim Login eines Benutzers der jeweiligen Gruppe springt. Und jedesmal, wenn der eingeloggte Benutzer den Menüpunkt "geschlossener Bereich" anklickt, muß er wieder auf seine Gruppenstartseite zurückkommen.
Derzeit löse ich das Problem wie folgt:
Im geschlossenen Bereich gibt es eine Startseite mit einem Text, dass der Benutzer bitte seine Zugangsdaten links im Menü eintragen soll.
Gleichzeitig enthält der Artikel das Modul "Internbereich Weiterleitung" mit folgendem Inhalt:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Internbereichs-Weiterleitung
* Author(s) : Andreas Lindner, Modifiziert von CK
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 29.08.2007
************************************************/
if ($auth->auth["uid"] != "nobody") {
cInclude("classes", "class.frontend.groups.php");
$FEGroupMemberCollection = new FrontendGroupMemberCollection;
$FEGroupMemberCollection->setWhere("idfrontenduser", $auth->auth["uid"]);
$FEGroupMemberCollection->setWhere("idfrontendgroup", 2);
$FEGroupMemberCollection->query();
if ($FEGroupMemberCollection->next())
{
$weiter = 'idcatart=188'; // das ist die Zielcat oder 'idcatart=162';
}
}
if ($auth->auth["uid"] != "nobody") {
cInclude("classes", "class.frontend.groups.php");
$FEGroupMemberCollection = new FrontendGroupMemberCollection;
$FEGroupMemberCollection->setWhere("idfrontenduser", $auth->auth["uid"]);
$FEGroupMemberCollection->setWhere("idfrontendgroup", 3);
$FEGroupMemberCollection->query();
if ($FEGroupMemberCollection->next())
{
$weiter = 'idcatart=187'; // das ist die Zielcat oder 'idcatart=162';
}
}
if (($weiter != "") AND ( ! $edit) ) { // nur wenn passende Kategorie vorhanden und NICHT im Backend
// dann sofort Weiterleitung
echo '<meta http-equiv="refresh" content="0; URL=' . $sess->url("front_content.php?" . $weiter) .'">';
}
else {
echo '<meta http-equiv="refresh" content="0; URL=' . $sess->url("front_content.php?idcatart=189") .'">';
}
?>
Ich linke per Login-Modul auf diese Startseite des geschlossenen Bereichs, der dann mit obigem Code überprüft ob für den Benutzer eine der Gruppen hinterlegt ist.
Ist dieser Code so brauchbar oder kann man das eleganter lösen (z. B. im Login-Modul von tinof für die Gruppen eine Startseite übers Backend steuern).
Die jeweilige Weiterleitung kostet obendrein jedesmal Zeit und unser Webserver bei 1&1 ist nicht immer der schnellste.
Für Tips und Anregungen bin ich dankbar.
Gruß
Carsten