Contentteile im Beitrag/Menü nur für angemeldete User sichtbar

  • Joomla Version
    4.3.2
    PHP Version
    PHP 8.0.x
    Hoster
    webgo

    Hallo,


    ich möchte Teile in einem Beitrag oder Modul nur für angemeldete User sichtbar machen bzw. für nicht angemeldete ausblenden (also nicht den kompletten Beitrag oder das komplette Modul, was ja über die Berechtigung möglich ist). Leider habe ich nach langer Suche keine Lösung für dieses Problem gefunden.

    Wäre super wenn ich hierzu einen Tipp erhalten könnte.


    Grüße vom Christian


    PS: Das Plugin "ECR - Easy Content Restriction Pro - Joomla! 4" habe ich bereits gefunden, aber vielleicht gibt es ja eine "händische" Lösung?!

  • Die Lösung ECR - Easy Content Restriction Pro - Joomla! 4 ist doch genau dafür entwickelt worden.

    Wenn es eine Lösung mit Joomla Boardmitteln geben würde, dann hätte Viktor das Plugin doch nicht programmiert.

    Liegt es vielleicht daran, dass du dafür kein Geld ausgeben willst?

    Dann wäre das eine Erklärung.

  • Wenn du einen Beitrag mit einem Teaser/Intro schreibst - also ein Weiterlesen einfügst - und bei den Optionen für die Beiträge die "Nicht zugänglichen Links" auf "Ja" stellst, dann kannst du in den Hauptbeiträgen, den Intro-/Teasertext lesen und wenn du dann auf "Weiterlesen" klickst, erscheint, dass du dich erst anmelden musst.

    Dazu den Beitrag selber auf "registriert" setzen, die Hauptbeiträge aber auf "öffentlich"-



    Axel

  • Hallo zusammen,


    dank für die Beiträge. Da ich einen Teil meines Shops ausschließen möchte, welcher bereits fest in einem Beitrag fixiert ist, ist sowohl die Lösung von Sieger66 als auch time4mambo für mich nicht möglich. Gefunden habe ich im Netz den Programmcode:


    HTML

    <div class="super">

    <center><h1>Welcome SUPER User!</h1></center>

    </div>


    CSS

    /*hide role-specific div html*/

    div.super {

    display: none;

    }


    JS

    // Show div html based on role

    if (HelpCenter.user.role=="Super User"){

    $("div.super").show();

    }


    Hier sollte die H1-Überschrift nur eingeblendet werden, wenn Super user angemeldet ist. Da sich dieser Vorschlag aber nicht auf Joomla bezieht, ist die Zuordnung in JS auf den User so nicht machbar/korrekt. Interessant wäre nun, wie die Rollen-Bezeichnung in Joomla ist? In diesem Beispiel ist es "HelpCenter.user.role". Was müsste bei Joomla angegeben werden, damit die User-Rolle Super User angesprochen wird?


    Grüße vom Christian

  • Mit display none;

    werden Inhalte nur im Browser des Nutzers nicht sichtbar angezeigt.

    Die "ausgeblendeten" Inhalte sind aber im Seitenquelltext der Website für jeden vollständig vorhanden und lesbar.

    Daher eventuell wohl ungeeignet für deine Zwecke.

  • Hallo Sieger66,


    für meine Zwecke wäre dies schon geeignet. Ich würde hier den Gast-User gewisse Teile nicht anzeigen, der sich bestimmt nicht mit dem Quelltext auseinandersetzt - und wenn, dann ist es auch egal. In meinem speziellen Fall: Eine Bestellmöglichkeit nur für B2B-Kunden, die erst noch einem Login angezeigt wird. Login ist nur für einen bestimmen Kundenkreis möglich.


    Zu dem Kommentar von WM-Loose:

    Das Finanzielle ist es weniger, schließlich sind die Kosten überschaubar. Aber nach der Php Umstellung auf 8.0 und Jommla 4.xxx ist nun meine Erfahrung, dass so wenig externe Tools wie möglich am besten ist.


    Es würde mich freuen, doch noch einen Tipp zur Definition der User-Rolle in Joomla zu erhalten. Vielen Dank hierfür im Voraus.


    Grüße vom Christian