Zielseite nach Login (Benutzergruppen)

  • Joomla Version
    4.x
    PHP Version
    PHP 8.2.x
    Hoster
    1&1 / Strato

    Hallo,


    ist es möglich, Zielseiten nach Benutzergruppen einzurichten?


    Beispiel:
    Ein Nutzer der Gruppe "Mitarbeiter" loggt sich ein und landet auf der Seite unter dem Blogmenü "Mitarbeiter"

    Nutzer, der Gruppe "IT" loggen sich ein und landen auf der Seite "IT-Infos"

    etc..


    a) Ist das mit J-Boardmitteln möglich?
    b) Wenn nein, gibt es eine Erweiterung? Welche könnt Ihr empfehlen?

  • ...Ist das mit J-Boardmitteln möglich?...

    Leider hast du uns keinen Link zum Problem mitgeteilt und auch nicht wie die Anmeldung erfolgt und mit welchem Template...


    Sofern die Anmeldung per Joomla-Core Benutzer Anmeldung-Modul oder per Joomla-Core Menüeintragstyp "Anmeldeformular" erfolgt geht das gewünschte z.B. per Erstellung von zwei "Template-Override-Dateien" sowie einem zusätzlichen Menüeintrag wie folgt:


    Erstelle einen neuen Menüeintrag vom Menüeintragstyp -> Systemlinks -> URL

    Titel z.B. "Weiterleitung nach Login"


    Darin im Tab Details -> Link die nachfolgende URL eintragen:

    index.php?option=com_users&view=login&redirect=0815

    und im Tab Linktyp kannst du "Im Menü anzeigen" auf Nein stellen.


    Stelle in deinem vorhandenem Joomla-Core Benutzer-Anmeldung-Modul

    und/oder in deinem vorhandenem Menüeintrag( Joomla-Core Menüeintragstyp "Anmeldeformular")

    diesen Menüeintrag als Weiterleitungziel nach der Anmeldung ein!


    Erstelle einen diesbezüglichen Template-Override bei Cassiopeia wäre dies z.B.:

    /templates/cassiopeia/html/com_users/login/default.php

    darin nachfolgender Code:

    Dies führt dazu das nur wenn der obige neue Menüeintrag nach dem Login aufgerufen wird, wird die neue nachfolgende

    default_meinredirect.php ausgeführt werden. Ansonnsten bleibt alles wie zuvor.


    Erstelle eine weitere ensprechende Template-Datei bei Cassiopeia wäre dies z.B.:


    ‎/templates/cassiopeia/html/com_users/login/default_meinredirect.php


    darin nachfolgender Code:



    Bei $intersect1 siehe:

    $allowed1 = array(6);

    mußt du statt der 6 die ID der gewünschte Benutzergruppen eintragen weche zum ersten Ziel führen soll.

    Du kannst auch mehrere Benutzergruppen eintragen falls sie zum selben Ziel nach der Anmeldung geführt werden sollen z.B.:

    $allowed1 = array(6,7);


    Beachte aber das auch die Untergruppen einer Benutzergruppe deren Gruppen-ID zusätzlich erben bzw. haben.

    So ist z.B. der SuperBenutzer in einer neuen unveränderten Joomla-Installation in den Benutzergruppen 1 und 8 und der

    Administrator in den Benutzergruppen 1 + 6 + 7


    Als Ziel mußt du anstatt der 111 in

    index.php?Itemid=111

    die ID des Menüeintrages eintragen zu dem das erste Weiterleitungsziel am Ende führen soll.


    dito.

    bei $intersect2 für $allowed2 und das zweite Ziel index.php?Itemid=115


    Weitere entsprechende $intersect mit $allowed und Ziel sind natürlich auch leicht möglich einzufügen.


    Wenn keine Benutzergruppe zutrifft wird zum letzten Ziel(101) weitergeleitet, was man natürlich auch ändern kann...