Nach Frontend-Login direkt zur gewünschten Seite
Nach Frontend-Login direkt zur gewünschten Seite
Hallo Zusammen,
ich habe Contenido so eingestellt, dass es beim Klicken auf eine Kategorie, die geschützt ist, direkt auf eine Seite mit Login-Feld weiterleitet. Nun möchte ich aber, dass nach dem Login die gewünschte Kategorie automatisch geöffnet wird. Hat hier jemand erfahrung oder eine Idee?
Danke für eure Hilfe!
jcf
PS: Ich benötige quasi die idcatart der vorherigen Seite. Da ich aber mit dem modrewrite arbeite, weiß ich nicht, wie ich das übergeben kann. Schöner wäre es, wenn ich das irgendwie abfragen könnte. hm...
ich habe Contenido so eingestellt, dass es beim Klicken auf eine Kategorie, die geschützt ist, direkt auf eine Seite mit Login-Feld weiterleitet. Nun möchte ich aber, dass nach dem Login die gewünschte Kategorie automatisch geöffnet wird. Hat hier jemand erfahrung oder eine Idee?
Danke für eure Hilfe!
jcf
PS: Ich benötige quasi die idcatart der vorherigen Seite. Da ich aber mit dem modrewrite arbeite, weiß ich nicht, wie ich das übergeben kann. Schöner wäre es, wenn ich das irgendwie abfragen könnte. hm...
ähm, wie ?
in diesem fall leitet man auf keine kategorie weiter sondern passt die optik hier an -> front_crcloginform.inc.php
dann hat man genau das was du haben willst...
in diesem fall leitet man auf keine kategorie weiter sondern passt die optik hier an -> front_crcloginform.inc.php
dann hat man genau das was du haben willst...
*** make your own tools (wishlist :: thx)
Sorry, ich hake hier nochmal nach :
1) Der user kann sich auf irgendeiner beliebigen Seite (Artikel) anmelden.
2) Nach der erfolgten Anmeldung soll er aber dann automatisch immer sofort auf seiner 'Heimatseite' im geschützten Bereich gelangen.
Man müßte eine 'Userspezifische - (geschützte)Startseite' angeben können, die nach Authentifizierung sofort geladen wird.
Das soll im allein Login - Formular gehen ? Hat da vielleicht jemand eine funktionierende Lösung ?
Gibt es vielleicht eine fertige Funktion 'Find_idcatart_ByTitle()' die man eininden kann (man könnte dann ohne Änderungen an der frontenduser - Tabelle eine 'logische' Verknüpfung username->artikel_titel basteln) ?
Danke !
Tino
1) Der user kann sich auf irgendeiner beliebigen Seite (Artikel) anmelden.
2) Nach der erfolgten Anmeldung soll er aber dann automatisch immer sofort auf seiner 'Heimatseite' im geschützten Bereich gelangen.
Man müßte eine 'Userspezifische - (geschützte)Startseite' angeben können, die nach Authentifizierung sofort geladen wird.
Das soll im allein Login - Formular gehen ? Hat da vielleicht jemand eine funktionierende Lösung ?
Gibt es vielleicht eine fertige Funktion 'Find_idcatart_ByTitle()' die man eininden kann (man könnte dann ohne Änderungen an der frontenduser - Tabelle eine 'logische' Verknüpfung username->artikel_titel basteln) ?
Danke !
Tino
Für die Freizeit : www.hobbybrauer.de
a) Zunächst die "Startseite" als zusätzliche Eigenschaft für den Frontend User definieren (siehe Frontend User-Plugin, da sieht man grundsätzlich, wie man zusätzliche Felder und Informationen bereitstellen kann - in der gewünschten Form hat das so noch niemand gemacht).
b) In der front_crclogin_form.php Code einbauen, der sich zum angemeldeten Nutzer den festgelegten Startartikel holt und dorthin weiterleitet.
Ich weiß, ich weiß, wie man es ganau machen muss, steht hier nicht. Deswegen einfach mal die Frontend User-Plugins ansehen und die Eigenschaft nachrüsten. Wer soweit ist: Nach dem nächsten Schritt fragen...
Gruß
HerrB
b) In der front_crclogin_form.php Code einbauen, der sich zum angemeldeten Nutzer den festgelegten Startartikel holt und dorthin weiterleitet.
Ich weiß, ich weiß, wie man es ganau machen muss, steht hier nicht. Deswegen einfach mal die Frontend User-Plugins ansehen und die Eigenschaft nachrüsten. Wer soweit ist: Nach dem nächsten Schritt fragen...
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
Hallo,
also ich habe jetzt meine Idee von oben umgesetzt. Das ist möglicherweise 'von hinten durch die Brust ins Auge', aber sorry, in der Contenido - Useranmeldung über front_content.php (action im Loginformular) bin ich nicht klargekommen. Hier fehlt mir (noch) der Durchblick.
Szenario :
Es gibt eine Kategorie 'Geschützter Bereich'.
Unterhalb dieser Kategorie hat jeder Frontendbenutzer seine persönliche Kategorie auf die nur er Zugriff hat. Diese persönlichen Kategorien habe ich nach den Namen der Frontendbenutzer benannt :
also ver Benutzer "Meier" hat die persönliche (geschützte) Kategorie "Meier" usw.
In meinem konkreten Anwendungsfall war das so möglich und auch eindeutig (es gibt immer genau eine Kategorie "Meier").
Meine Änderungen im Loginformular machen nun Folgendes :
Nach erfolgreicher Anmeldung wird der Benutzer automatisch in 'seinen' Ordner weitergeleitet - unabhängig davon, von welcher Seite er das Login vorgenommen hat.
Zugegeben, ein Szenario mit vielen Randbedingungen, aber vielleicht ist es ja doch nicht uninteressant. Man könnte z.B. statt den User im Kategorienamen auch in den Artikeleigenschaften angeben und dann darüber den Artikel identifizieren usw.
Die Änderungen basieren auf dem Standard - Login - Modul des Demo - Mandanten.
P.S. Danke HerrB für den Tip mit der Weiterleitung per <meta> (hab' ich irgendwo im Forum gefunden).
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 durch
Changes :
2007-06-27 :
Der Startartikel der Zielkategorie wurde durch die Abfrage unter bestimmten Umständen nicht gefunden. Deshalb wird jetzt nur noch die passende Kategorie ermittelt und per IDCAT=.... dahin weitergeleitet.
also ich habe jetzt meine Idee von oben umgesetzt. Das ist möglicherweise 'von hinten durch die Brust ins Auge', aber sorry, in der Contenido - Useranmeldung über front_content.php (action im Loginformular) bin ich nicht klargekommen. Hier fehlt mir (noch) der Durchblick.
Szenario :
Es gibt eine Kategorie 'Geschützter Bereich'.
Unterhalb dieser Kategorie hat jeder Frontendbenutzer seine persönliche Kategorie auf die nur er Zugriff hat. Diese persönlichen Kategorien habe ich nach den Namen der Frontendbenutzer benannt :
also ver Benutzer "Meier" hat die persönliche (geschützte) Kategorie "Meier" usw.
In meinem konkreten Anwendungsfall war das so möglich und auch eindeutig (es gibt immer genau eine Kategorie "Meier").
Meine Änderungen im Loginformular machen nun Folgendes :
Nach erfolgreicher Anmeldung wird der Benutzer automatisch in 'seinen' Ordner weitergeleitet - unabhängig davon, von welcher Seite er das Login vorgenommen hat.
Zugegeben, ein Szenario mit vielen Randbedingungen, aber vielleicht ist es ja doch nicht uninteressant. Man könnte z.B. statt den User im Kategorienamen auch in den Artikeleigenschaften angeben und dann darüber den Artikel identifizieren usw.
Die Änderungen basieren auf dem Standard - Login - Modul des Demo - Mandanten.
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
************************************************/
#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.
*/
// 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'
$weiter = getstartcat($auth->auth["uname"]); // 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 {
// 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', 'LOGOUT', mi18n("Logout"));
$tpl->generate('templates/'.$template);
}
}
?>
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 :
Code: 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
Changes :
2007-06-27 :
Der Startartikel der Zielkategorie wurde durch die Abfrage unter bestimmten Umständen nicht gefunden. Deshalb wird jetzt nur noch die passende Kategorie ermittelt und per IDCAT=.... dahin weitergeleitet.
Zuletzt geändert von tinof am Do 28. Jun 2007, 15:18, insgesamt 2-mal geändert.
Für die Freizeit : www.hobbybrauer.de
Ist doch wunderbar. In etwa so meinte ich das...
Gruß
HerrB
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
Also, ich habe den geschützten Bereich unterhalb der Hauptnavigation, ja.
Ich denke aber, da die Weiterleitung hart per IDCAT = xxx erfolgt, sollte man in jede beliebige Kategorie springen können, auch außerhalb der Hauptnavi.
Voraussetzung sind allerdings (wie sonst auch)
* die Kategorie hat einen Startartikel der auch online ist
* der Nutzer hat Zugriff auf diese Kategorie
Oder habe ich dich falsch verstanden ?
Tino
Ich denke aber, da die Weiterleitung hart per IDCAT = xxx erfolgt, sollte man in jede beliebige Kategorie springen können, auch außerhalb der Hauptnavi.
Voraussetzung sind allerdings (wie sonst auch)
* die Kategorie hat einen Startartikel der auch online ist
* der Nutzer hat Zugriff auf diese Kategorie
Oder habe ich dich falsch verstanden ?
Tino
Für die Freizeit : www.hobbybrauer.de
schon richtig.
ich habe irgendwo eine gesperrte hauptkategorie ohne startartikel
unter dieser kategorie habe ich eine gesperrte kategorie (kundeA) mit startartikel.
wenn ich mich mit kundeA +passwort einlogge werde ich nicht weitergeleitet, statt dessen tauchen die zeilen daten-userpassword-logout auf.
hab ich irgendwo einen fehler gemacht?
ich habe irgendwo eine gesperrte hauptkategorie ohne startartikel
unter dieser kategorie habe ich eine gesperrte kategorie (kundeA) mit startartikel.
wenn ich mich mit kundeA +passwort einlogge werde ich nicht weitergeleitet, statt dessen tauchen die zeilen daten-userpassword-logout auf.
hab ich irgendwo einen fehler gemacht?
Wie sieht das genau aus ?Tom4545 hat geschrieben: .... statt dessen tauchen die zeilen daten-userpassword-logout auf.
Erfolgt wenigstens die Anmeldung - also statt dem Login - Formular steht dort "Sie sind angemeldet als ..... ->logout" ?
Hat kundeA auch Zugriff auf die gesperrte Hauptkategorie ?
Kann man dann per 'normaler' Navigation nach kategorie_kundeA gelangen ?
Vielleicht kannst du die Kategorien ggf. erstmal testweise in die normale Navigation aufnehmen um zu schauen, ob man überhaupt zu dem gewünschten Artikel gelangen kann (unabhängig von der automatischen Weiterleitung)
Ich meine nämlich, hier irgendwo im Forum gelesen zu haben, dass verschachtelte / hierarchiche geschützte Verzeichnisse in Contenido nicht möglich sind : also ein geschütztes Verzeichnis unterhalb eines geschützten Verzeichnisses.
Vielleicht kann diesbezüglich einer von den Profis was sagen ?
Das wäre jedenfalls dann eine denkbare Ursache.
Ansonsten : Schicke mir eine PM dann können wir uns das 'vor Ort' mal anschauen.
cu
Tino
edit: Statt die Kategorien zu verschieben ist es bestimmt besser, ein zusätzliches Navigationsmodul ins Template einzubinden und den betreffenden Baum zuzuordnen
Für die Freizeit : www.hobbybrauer.de
Hallo,
es gab noch ein Problem :
Im Backend hat diese Weiterleitung beim Bearbeiten der Artikel für gehörige "Verwirrung" gesorgt.
Das ist jetzt behoben, ich habe den Modulcode zusammen mit ein paar 'Verschönerungen' gleich oben in meinem entsprechenden Post aktualisiert.
Grüße
Tino
es gab noch ein Problem :
Im Backend hat diese Weiterleitung beim Bearbeiten der Artikel für gehörige "Verwirrung" gesorgt.
Das ist jetzt behoben, ich habe den Modulcode zusammen mit ein paar 'Verschönerungen' gleich oben in meinem entsprechenden Post aktualisiert.
Grüße
Tino
Für die Freizeit : www.hobbybrauer.de
Hallo,
ich habe die Modifikation von tinof benutzt, allerdings springt es nicht zum geschützten Bereich, sondern bleibt da wo ich gerade bin. Ich benutze nicht das orginal Hauptnavigationsmodul sondern die vpnavigation. Mach das ein Problem oder woher kommt der Fehler?
- Hauptnavigation
----- home
----- über uns
----- Punkt 3
----- Punkt 4
----- Mitgliederbereich (geschützte Kategorie!)
---------- geschützter Bereich
Login von jeder Seite aus möglich.
Grüße
stefkey
Nachtrag: Habs gerade im Beispielmandanten probert, da gehts irgendwie auch nett! hmmm was mach ich den falsch?
ich habe die Modifikation von tinof benutzt, allerdings springt es nicht zum geschützten Bereich, sondern bleibt da wo ich gerade bin. Ich benutze nicht das orginal Hauptnavigationsmodul sondern die vpnavigation. Mach das ein Problem oder woher kommt der Fehler?
- Hauptnavigation
----- home
----- über uns
----- Punkt 3
----- Punkt 4
----- Mitgliederbereich (geschützte Kategorie!)
---------- geschützter Bereich
Login von jeder Seite aus möglich.
Grüße
stefkey
Nachtrag: Habs gerade im Beispielmandanten probert, da gehts irgendwie auch nett! hmmm was mach ich den falsch?
Hallo,
unterhalb des <geschützten Bereichs> muss es noch Kategorien mit den Namen derjeweiligen Benutzer geben (darauf baut meine Änderung auf : User ABC -> springe beim Login nach Kategorie <ABC> ).
Wenn du für jeden Benutzer einfach sofort nach (allgemein) geschützter Bereich wechseln möchtest (so verstehe ich dich jetzt), dann .. gibt es mehrere Möglichkeiten :
1) du änderst die Funktion getstartcat() dahingehend, dass sie die catid der ersten geschützten Kategorie liefert (wenn es z.B. nur einen gibt) -- ist etwas komplizierter
2) du änderst bei der Weiterleitung die Zeile
in
wobei 9999 die idcatart des Startartikels des geschützten bereichs ist (einfach fest 'reinschreiben, aber bei Änderungen der Kategoriestruktur muss das angepasst werden)
Hoffe, ich habe das richtig verstanden, sonst bitte nochmal posten
Grüße
Tino
[/code]
unterhalb des <geschützten Bereichs> muss es noch Kategorien mit den Namen derjeweiligen Benutzer geben (darauf baut meine Änderung auf : User ABC -> springe beim Login nach Kategorie <ABC> ).
Wenn du für jeden Benutzer einfach sofort nach (allgemein) geschützter Bereich wechseln möchtest (so verstehe ich dich jetzt), dann .. gibt es mehrere Möglichkeiten :
1) du änderst die Funktion getstartcat() dahingehend, dass sie die catid der ersten geschützten Kategorie liefert (wenn es z.B. nur einen gibt) -- ist etwas komplizierter
2) du änderst bei der Weiterleitung die Zeile
Code: Alles auswählen
$weiter = getstartcat($auth->auth["uname"]);
Code: Alles auswählen
$weiter = 'idcatart=9999';
Hoffe, ich habe das richtig verstanden, sonst bitte nochmal posten
Grüße
Tino
[/code]
Für die Freizeit : www.hobbybrauer.de