Hi zusammen,
ich bin gerade frisch in Plone unterwegs und bis jetzt schwer begeistert...
Ich finde allerdings ein Feature nicht: wie kann ich festlegen, wo ein User direkt nach Login landet? Mich nervt die login_success Seite...
Ausserdem schaffe ich es nicht auf der Welcome-Seite die slots leer zu halten (login bleibt , klar und nach Login kommt dann naviagtion und calender, usw. Auf der login_success sind die Slots leer, klicke ich auf meinen Ordner oder mein Hompage erscheinen die slots wie gewünscht.
Ich vermute die Regeln, die ich unter members/properties/slots... gemacht habe, funzen nur da und drunter. Die login_success liegt aber eine ebene höher auf root. Irgendwie schaffe ich es nicht sie direkt anzusprechen.
Wäre aber egal, wenn ich die Verweise nach den Logins editieren könnte, dann würde ich direkt in den members-ordner gehen, wäre mir viel lieber!
Vielleicht kann mir einer da helfen. Ich habe schon zwei Online-Bücher durch, nix gefunden. Wenn einer ein ausführliches Buch auf deutsch kennt, bitte sagen!
Danke schon mal vorab
Sascha
Plone - stolprig unterwegs in Sachen right_slots/left_slots
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Sascha!
<plone-root>/portal_skins/plone_scripts/logged_in
gemanaged. Achte da drinnen mal auf die Variable login_success
mfg
Gerold
Das Login-Verhalten wird in der DateiSascha hat geschrieben:ich bin gerade frisch in Plone unterwegs und bis jetzt schwer begeistert...
Ich finde allerdings ein Feature nicht: wie kann ich festlegen, wo ein User direkt nach Login landet? Mich nervt die login_success Seite...
<plone-root>/portal_skins/plone_scripts/logged_in
gemanaged. Achte da drinnen mal auf die Variable login_success
Genau das kannst du im Python-Skript "logged_in" machen.Sascha hat geschrieben:Wäre aber egal, wenn ich die Verweise nach den Logins editieren könnte, dann würde ich direkt in den members-ordner gehen, wäre mir viel lieber!
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Danke, echt schnelle Antwort. Hab mal in die Datei reingeschaut.
Leider kann ich nicht programmieren, daher eigentlich auch plone
Ich hab aber zwei Stellen in der logged_in gefunden wo die login_success vorkommt:
template_id.endswith('login_form'):
login_success = '%s/%s' % (context.portal_url(), 'login_success')
REFERER=REQUEST.get('HTTP_REFERER')
if login_success:
URL=login_success
Da müssen wohl die Änderungen hin. Fragt sich nur wie. Wenn ich mir das hier so anschaue, leitet jeder erfolgreiche Login auf die gleiche login_success, die man dann im content-Bereich sieht. Während parallel der Benutzer "seinen Bereich betritt".
Gibt es eine Möglichkeit jeweils direkt die Homepage eines jeden Benutzers anzusteuern?
Vielleicht kann das context.portal_url()? Bezieht sich context auf die jeweiligen User?
Sry, bin echt neugierig. Nochmal vielen Dank für die schnelle Antwort!
Sascha
Leider kann ich nicht programmieren, daher eigentlich auch plone
Ich hab aber zwei Stellen in der logged_in gefunden wo die login_success vorkommt:
template_id.endswith('login_form'):
login_success = '%s/%s' % (context.portal_url(), 'login_success')
REFERER=REQUEST.get('HTTP_REFERER')
if login_success:
URL=login_success
Da müssen wohl die Änderungen hin. Fragt sich nur wie. Wenn ich mir das hier so anschaue, leitet jeder erfolgreiche Login auf die gleiche login_success, die man dann im content-Bereich sieht. Während parallel der Benutzer "seinen Bereich betritt".
Gibt es eine Möglichkeit jeweils direkt die Homepage eines jeden Benutzers anzusteuern?
Vielleicht kann das context.portal_url()? Bezieht sich context auf die jeweiligen User?
Sry, bin echt neugierig. Nochmal vielen Dank für die schnelle Antwort!
Sascha
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Sascha!
Wenn du möchtest, dass der Benutzer statt zur "login_success" zum Member-Ordner weitergeleitet wird, dann könnte es so aussehen:
Wenn du möchtest, dass, egal von wo aus man sich einloggt, der Benutzer immer im Members-Ordner landet, dann könntest du das damit erreichen:
Ich habe dir jeweils einen kleinen Ausschnitt aus der "logged_in" herauskopiert. So dürftest du den Bereich, in dem diese zu ändern ist leicht finden.
mfg
Gerold
Wenn du möchtest, dass der Benutzer statt zur "login_success" zum Member-Ordner weitergeleitet wird, dann könnte es so aussehen:
Code: Alles auswählen
...
# if we weren't called from something that set 'came_from' or if HTTP_REFERER
# is the 'logged_out' page, return the default 'login_success' form
if came_from is not None:
template_id = came_from.split('?')[0].split('/')[-1]
if not came_from or \
template_id.endswith('logged_out') or \
template_id.endswith('mail_password') or \
template_id.endswith('member_search_results') or \
template_id.endswith('login_form'):
#login_success = '%s/%s' % (context.portal_url(), 'login_success')
username = membership_tool.getAuthenticatedMember()
login_success = "%s/Members/%s" % (context.portal_url(), username)
...
Code: Alles auswählen
...
qs = context.create_query_string(
REQUEST.get('QUERY_STRING', ''),
portal_status_message=("Welcome! You are now logged in.")
)
REFERER=REQUEST.get('HTTP_REFERER')
username = membership_tool.getAuthenticatedMember()
login_success = "%s/Members/%s" % (context.portal_url(), username)
if login_success:
URL=login_success
else:
URL=REQUEST.get('came_from', REFERER)
if URL.find('?')==-1:
dest = '%s?%s' % (URL, qs)
else:
dest = '%s&%s' % (URL, qs)
return REQUEST.RESPONSE.redirect(dest)
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Sascha!Sascha hat geschrieben:Vielleicht kann das context.portal_url()? Bezieht sich context auf die jeweiligen User?
Nein, context bezieht sich auf das Object, von dem aus das Skript aufgerufen wurde. Nähere Informationen zu den einzelnen Basisvariablen wie context, here, template, script, usw. erfährst du im Zope-Buch.
http://www.dzug.org/Members/vbachs/zboo ... /file_view
Code: Alles auswählen
context.portal_url()
Den Aktuellen Benutzernamen bekommst du in einem Python-Skript so raus:
Code: Alles auswählen
context.portal_membership.getAuthenticatedMember()
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Hi Gerold,
Jaaaaaaa, ich konnte es nicht abwarten und habs noch schnell eingebaut und es funzt! Vielen, vielen Dank!
Tausend Grüße
Sascha
Jaaaaaaa, ich konnte es nicht abwarten und habs noch schnell eingebaut und es funzt! Vielen, vielen Dank!
Tausend Grüße
Sascha
Hi Gerold,
Und natürlich danke für den Link auf die PDF, endlich auch ausführlich genug! ich geh jetzt Hausaufgaben machen...
Grüße
Sascha
Und natürlich danke für den Link auf die PDF, endlich auch ausführlich genug! ich geh jetzt Hausaufgaben machen...
Grüße
Sascha
Ich hätte da noch eine Frage: Wie muss ich die Logged-in verändern, damit jeder User, egal woher, immer auf einem bestimmten Ordner landet? In meinem Fall ein Ordner "Projects", der auf dem selben Level wie Members ist?
Ich habe versucht den Code zu ändern, aber seitdem hat er Fehlermeldungen
Grüße
Sascha
Ich habe versucht den Code zu ändern, aber seitdem hat er Fehlermeldungen
Grüße
Sascha
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Anonymous hat geschrieben:Ich hätte da noch eine Frage: Wie muss ich die Logged-in verändern, damit jeder User, egal woher, immer auf einem bestimmten Ordner landet? In meinem Fall ein Ordner "Projects", der auf dem selben Level wie Members ist?
Code: Alles auswählen
login_success = "%s/Projects/" % context.portal_url()
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.