Benutzerprofil deaktivieren

  • Hallo zusammen,

    ich hole diesen alten Beitrag nochmals aus dem Keller, weil ich das selbe Problem habe.

    Ich hätte gerne, dass sich Benutzer einloggen können, um bestimmte Beiträge zu sehen, aber im Frontend "absolut" nichts am Benutzer selber einstellen/ändern können und nicht einmal die Möglichkeit dazu geboten bekommen.


    Also hier kein "Profil bearbeiten"


    und keine Möglichkeit (optimaler Weise auch nicht über einen Link) zu diesem Formular zu kommen:


    Die von time4mambo angegebene Lösung funktioniert bei mir hier nicht (Joomla 3.9.16, protostar), da werden eben oben abgebildete Möglichkeiten gezeigt.


    Würde mich sehr freuen wenn jemand Lösungen posten könnte, um dem Nutzer die Möglichkeit zu nehmen, selber Änderungen am Benutzer (im Frontend) vorzunehmen.


    Danke! :-)

  • Ausgehend von Joomla 3.9.16

    Du beachtest diese Anleitung: Joomlaeigene Templates anpassen/ändern (z.B. Protostar, Beez3). Vorher eine Template-Kopie anlegen!


    Du gehst im Backend in den Template-Editor deiner neuen, eigenen Template-Kopie.

    Machst per Klick Overrides für com_users im Tabulator "Overrides erstellen".

    Bearbeitest die Datei html/com_users/profile/default.php, die dann links in der Dateienübersicht zu finden ist.

    Änderst diese Zeile https://github.com/joomla/joom…file/tmpl/default.php#L21


    nach

    PHP
    1. <?php if (1 === 2 && JFactory::getUser()->id == $this->data->id) : ?>

    und der Button ist weg.


    Bearbeitest die Datei html/com_users/profile/edit.php, die ebenfalls links in der Dateienübersicht zu finden ist.

    Schreibst hinter Zeile

    Code
    1. defined('_JEXEC') or die;

    ein

    Code
    1. return;

    und im blödsten Fall geht eine leere Seite auf, wenn irgendwo ein Link dorthin rumdümpelt. Jedenfalls ohne Bearbeitungsmöglichkeit.


    Statt return; geht vermutlich auch

    Code
    1. JFactory::getApplication()->redirect('/', 301);

    was eine Umleitung auf die Startseite sein sollte, was man aber ohne Link zur Seite nicht ganz sicher sagen kann, ob fehlerfrei.


    Bezüglich Sicherheit ist es aber ein absolutes No-Go Nutzern das ändern des Kennwortes zu verbieten.

  • Hallo,

    danke für die Anleitung!


    Allerdings wenn du der Meinung bist, dass es ein no-go ist, dann lasse ich es bleiben. Kannst du das evtl. näher erläutern?

    Ich will auf der Seite max. ein oder zwei Benutzer haben, die ich als Admin verwalte, und die bestimmte Beiträge sehen können...

  • Ich will auf der Seite max. ein oder zwei Benutzer haben, die ich als Admin verwalte, und die bestimmte Beiträge sehen können...

    Na ja, dann bin ich gnädiger mit meiner Aussage ;-)


    Ein bisschen hängt es auch davon ab, wie der Draht zu den Benutzern ist und wie verlässlich die sind. Wenn das Sehen zusätzlich kein extremes Sicherheitsrisiko ist (was du beurteilen musst)...

  • Zur genauen Erklärung, das soll eine private Seite mit Familienalben werden, wo's für die gesamte Familie einen Benutzer gibt :-)

    Und da von den anderen Familienmitgliedern keiner an der Seite arbeiten wird, sollte eben einer zum Ansehen zusätzlich zum Admin reichen; vielleicht irgendwann auch mal ein zweiter zusätzlicher Benutzer.

    Daher wär's denke ich auch unpraktisch wenn der Benutzer das Passwort ändern kann, weil dann ändert's einer, und alle anderen wissen es nicht.

    Und für jedes Familienmitglied einen eigenen Benutzer (zu betreuen) ist mir denke ich zu aufwendig. ;)

  • Beiträge zu kapern ist hier nicht erwünscht - lege einen eigenen Beitrag mit eigenem Anliegen an.

    • Verbiete Registrieren in der Seite
    • Lege die User mit der Zugriffsgruppe Registered an (das ist der Standard)
    • Stelle die Artikel, welche nur die Registrierten sehen dürfen, auf die Zugriffsebene Registered
  • Beiträge zu kapern ist hier nicht erwünscht - lege einen eigenen Beitrag mit eigenem Anliegen an.

    wusste ich nicht, danke @Indigo für's trennen.

    • Verbiete Registrieren in der Seite
    • Lege die User mit der Zugriffsgruppe Registered an (das ist der Standard)
    • Stelle die Artikel, welche nur die Registrierten sehen dürfen, auf die Zugriffsebene Registered

    Ist bereits geschehen, das ändert aber leider nichts daran, dass vorhandene Benutzer weiterhin ihre Daten (Passwörter, Email etc. ändern können) und auch der Link dorthin weiter besteht.

    Ich werde sobald es Gelegenheit gibt die Lösung von Re:Later probieren.

  • Auf Benutzeroptionen sind die "Einstellungen im Frontend" auf "Verborgen" gestellt?


    Sonst bleibt wohl nur ein Template Override oder per CSS den Link und die Profilseite zu verbergen.

    Genau, das ist auf verborgen, siehe angehängtes Bild.


    Nachtrag -- das ist auch der Grund warum ich diesen Beitrag an den alten angehängt hatte, weil diese Lösung dort vorgeschlagen wurde, abe nicht funktioniert hat.

  • Der Link und die Edit-Seite kannst du verbergen. Das CSS gehört normalerweise in die user.css, custom.css oder template.css eines Templates oder auch woanders hin - das hängt vom Template ab.


    CSS
    1. .profile .btn-toolbar,
    2. .profile-edit {
    3. display: none;
    4. }

    Eine Änderung dadurch ist dann theoretisch möglich und praktisch unwahrscheinlich, da die Funktion verborgen wird.