Login / Register / Logout auf bestimmter Position

  • Hallo,


    ich versuche folgende einfache Logik zu implementieren.


    1) Gast kommt auf Seite: Auf Position X soll das "Login-Formular incl. registrieren Link" erscheinen.

    2) Benutzer klickt auf "registrieren", dann soll auf Position X das "Registrieren-Formular" angezeigt werden.

    3) Benutzer meldet sich an, dann soll auf Position X der Abmelde Button angezeigt werden.


    Zu 1) habe ich ein "site module / Login" erstellt un es der Position X zugeordnet.


    Das Problem: Wenn ich jetzt auf "Registrieren" klicke, dann bleibt das Login-Formular auf Position X und im Component-Bereich erscheint das Registrieren-Formular.


    Kann mich jemand unterstützen?

  • Einen Link habe ich nicht. Ich habe ein eigenes minimalistisches Template. Dort gibt es "<jdoc:include type="component" />" und "<jdoc:include type="modules" name="X" />"


    Die Logik müsste doch unabhängig vom Template sein, oder?


    Meine Seite kann ich leider nicht präsentieren.


    Ich versuche mal etwas weiter zu beschreiben was ich vor habe. Vielleicht gibt es ja eine bessere Lösung.


    Es ist eine ganz einfache Seite, ohne sichtbares Menü. Über eine Erweiterung wird dem Besucher eine Möglichkeit zur Dateneingabe gegeben. Ich möchte, dass sich der Besucher registrieren und anmelden muss, bevor er die Daten eingeben kann.


    Also:


    1) Besucher kommt als Gast: Anzeige: Hallo, bitte melde dich an, oder registriere sich.

    2) Besucher klickt auf registrieren: Es wird das registrieren angezeigt.

    3) Besucher meldet sich an: Es wird die Komponente zur Dateneingabe angezeigt.


    Ich habe es jetzt mit dem Login-Modul probiert. Dort kann ich einen den Parameter "Login Redirection Page" und "Logout Redirection Page" setzen. Das funktioniert eigentlich gut, aber leider nicht, wenn der Benutzer sich neu registriert. Wenn er nämlich auf den Link zum Bestätigen in der Email klickt, dann landet er auf der Profilseite.

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: 2 Beiträge von Almoj mit diesem Beitrag zusammengefügt.

  • Du erstellt einen Beitrag (eigenes Modul auf Modulposition geht natürlich auch) den der Gast über ein Menü oder Verlinkung öffnet.

    Neues Menü erstellen und 2 Menülinks anlegen (Anmeldung und Registrierung).

    Bitte die Benutzerregistrierung im Backend in den Benutzeroptionen aktivieren!

    Jetzt verlinkst du in dem oben erstellten Beitrag einfach die Worte Anmeldung und Registrierung mit den beiden neu erstellten Menüpunkten.

  • Zu diesem Problem:

    Das Problem: Wenn ich jetzt auf "Registrieren" klicke, dann bleibt das Login-Formular auf Position X und im Component-Bereich erscheint das Registrieren-Formular.

    • Erstelle ein verstecktes / keinem Menümodul zugeordnetes Behelfsmenü (z.B. hidden genannt). Das wird auch "Schattenmenü" genannt.
    • Lege darin einen Menüpunkt zur Benutzerregistrierung an (Typ Benutzer -> Registrierungsformular)
    • Anschließend richtet sich der Registrierungs Link im Modul nach diesem neu angelegten Menüpunkt
    • Somit kannst du nun die Menüzuweisung des Login Moduls so einstellen, dass es nicht auf der Registrieren Seite gezeigt wird.

    https://wolke.website-bereinig…dex.php/s/4MA98oRX63MP5zj

    • Erstelle ein verstecktes / keinem Menümodul zugeordnetes Behelfsmenü (z.B. hidden genannt). Das wird auch "Schattenmenü" genannt.
    • Lege darin einen Menüpunkt zur Benutzerregistrierung an (Typ Benutzer -> Registrierungsformular)
    • Anschließend richtet sich der Registrierungs Link im Modul nach diesem neu angelegten Menüpunkt
    • Somit kannst du nun die Menüzuweisung des Login Moduls so einstellen, dass es nicht auf der Registrieren Seite gezeigt wird.

    https://wolke.website-bereinig…dex.php/s/4MA98oRX63MP5zj

    Fast zeitgleich Pascal, echt unheimlich oder? :D

  • Ergänzung:


    Den Login Menüpunkt (Typ Benutzer: Anmeldeformular) legst du auf die gleiche Art und Weise im hidden Behelfsmenü an.
    Denn auf der Login Seite (Login in component view) nach Klick auf den Bestätigungslink in der Mail willste ja auch nicht das Login Modul, doppelt vermoppelt haben - so kannst du das Modul dann also auch auf /login in der Menüzuweisung ausblenden.

    Sowohl im Login Modul als auch im Login Menüpunkt stellst du die Anmelde-Weiterleitung auf deine Eingabemaske.


    So sollte dann alles wie gewünscht funktionieren..

  • Danke für die Unterstützung. Ich mache mich an die Umsetzung.


    Mir ist eben noch aufgefallen, dass bei mir keine Fehlermeldungen angezeigt werden. Z.B. wenn der Benutzer bei der Registrierung falsche Daten angibt. Wenn ich zu Cassiopeia wechsele, dann stehen die Fehler über dem Registrieren-Formular. Z.b. "Das Formular kann nicht abgeschickt werden, da ihm die erforderlichen Daten fehlen..."


    Ich probiere daher, zunächst mein Vorhaben mit Cassiopeia umzusetzen.


    Da ich zwischenzeitlich zwei Wochen nicht an Joomla dran war, bin ich nochmal durch den ganzen Prozess durch.



    1) Meine Seite hat das default Menü „Navigation“.

    2) Um das Menü auszublenden, habe ich das Site-Modul „Main Menu“ gelöscht.

    3) In „Navigation“ habe ich folgende Eintraäge

    a) Gast-Start (Home) -> Single Artikel „Gast-Start“

    b) Angemeldet – „Singel Artikel „Angemeldet“

    c) User-Logout-> Link zum Ausloggen (siehe anderer Thread von mir)


    4) Folgende Site-Module habe ich:

    i) Login -> Type: Login, Position „::None::“, Login Redirection -> „Angemeldet“, Logout Redirection „Gast-Start“


    a) Single Artikel „Gast-Start“ -> Text: {loadmoduleid 119}, d.h. läd nur das Modul „LOGIN“

    b) Single Artikel „Angemeldet“ -> Hier ist meine Seite und es gibt einen Link zum Menü „User-Logout“



    Test ob alles geht:

    • Gast kommt auf die Seite, es wird das Login-Formular angezeigt. (OK)
    • Registrieren, Passwort/Benutzername vergessen, funktioniert alles, die Mails vom System sind ein anderes Thema. (OK)
    • Man meldet sich an, und kommt auf die Seite mit dem Content und den „Abmelden Link“ (OK)
    • Man klickt auf „abmelden“ und kommt wieder zurück zum Start. (OK)


    Soweit geht es jetzt. Daher ist mein nächster Schritt, dass an mein Template anzupassen.

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von Almoj mit diesem Beitrag zusammengefügt.

  • Habe mich dazu entschieden mit einer Kopie von Cassiopeia zu arbeiten und diese nach meinen Bedürfnissen anzupassen. Da das ja alles Bootstrap-Ready ist, sollte es nicht so schwierig werden.


    Habe eine Kopie von Cassiopeia erstellt, wie in meinem anderen Thread beschrieben.


    In der "index.php" habe ich einiges gelöscht, weil ich im Prinzip keine Modul-Positionen benötige. Ab dem DOCTYPE ist folgendes übrig geblieben:



    An der Stelle, habe ich ein sauberes Layout (weißes Blatt) wo alles funktioniert, wie ich es gerne hätte. Da versuche ich jetzt mein Template drum zu bauen.

  • Folgende Probleme habe ich noch:


    - Favicon fehlt

    - Auf dem Smartphone erscheint die Seite immer zu groß und ich muss sie runter skalieren. Die Container habe ich auf 540px festgelegt

    - Wenn die Benutzerregistrierung angezeigt wird, gibt es keinen Link zur Anmeldung mehr. Wenn man sich also anders entscheidet, kommt man nicht zurück.

  • Favicon, hast du diese Zeilen gelöscht ?


    Code
    <link href="/templates/xxx/images/joomla-favicon.svg" rel="icon" type="image/svg+xml">
    	<link href="/templates/xxx/images/favicon.ico" rel="alternate icon" type="image/vnd.microsoft.icon">
    	<link href="/templates/xxx/images/joomla-favicon-pinned.svg" rel="mask-icon" color="#000">