Startseite nicht eingeloggter Besucher

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
HorstG
Beiträge: 14
Registriert: 21. Jun 2021, 16:46

Startseite nicht eingeloggter Besucher

Beitrag von HorstG »

Hallo,
ich finde dazu irgendwie nichts. Wie kann ich es einstellen das Besucher die nicht registriert sind nicht anderes sehen als den Login Bereich?
Besten Dank
uebersicht.png
uebersicht.png (194.03 KiB) 46889 mal betrachtet
greno
Beiträge: 285
Registriert: 25. Nov 2017, 19:58

Re: Startseite nicht eingeloggter Besucher

Beitrag von greno »

Hallo HorstG,
ich habe bei Einstellungen/Allgemein/Startseite(Besucher:innen) hinterlegt: adm_program/system/login.php
Diese Seite ist die Standard-Startseite von Admidio auf die Gäste geleitet werden. Der Pfad zu der Seite muss relativ zum Admidio-Verzeichnis angegeben werden. Steht darunter !
Somit werden die Themes (Anmelden Geburtstage usw. schon mal überlagert)
Bei der Übersicht erscheinen bei mir:
Module.png
Module.png (4.8 KiB) 46720 mal betrachtet
grusz greno
greno
Beiträge: 285
Registriert: 25. Nov 2017, 19:58

Re: Startseite nicht eingeloggter Besucher

Beitrag von greno »

Hallo HorstG,
nun zu der Übersicht:
die steuerst du, indem du bei den Einstellungen/Module/Zugriff auf Modul aktivierst bzw. deaktivierst
und bei den Plugins die config_sample_php anpasst.
Beachte dabei:
Rename this file to config.php if you want to change some of the preferences below. The plugin will only read the parameters from config.php and not the example file.
wenn du das gemacht hast, sollte es so aussehen wie bei mir.
grusz greno
HorstG
Beiträge: 14
Registriert: 21. Jun 2021, 16:46

Re: Startseite nicht eingeloggter Besucher

Beitrag von HorstG »

Hui, erst mal allerbesten Dank für die tollen Anleitungen, schau ich mir die Tage in Ruhe an.
wisi01
Beiträge: 38
Registriert: 21. Mai 2021, 13:22

Re: Startseite nicht eingeloggter Besucher

Beitrag von wisi01 »

Hallo HorstG,

da ich zufällig auch das selbe Problemchen hatte bin ich auf deinen Eintrag gestoßen.
Falls es dir vielleicht weiterhilft hier mein Ansatz zur Lösung:

Ich habe in dem von mir verwedeten Theme (zu finden im Ordner adm_themes) die Datei "overwiew.tpl" bearbeitet und jene Karten, die ich nicht benötige, einfach auskommentiert - siehe Datei >adm_themes\*deinThemes-Ordner*\templates\overview.tpl<

Da wir z.B. das Modul "Fotos" grundsätzlich nicht benutzen hat es keinen Sinn, wenn bei der Übersicht die leere Karte mit dem Zufallsfoto erscheint. Daher habe ich den kompletten Bereich "random_photo" in der tpl-Datei auskommentiert und dieser wird somit nicht mehr angezeigt.

Vielleicht hilft dir das ja auch weiter, oder aber du machst es wie von greno vorgeschlagen mit der Umleitung der Startseite.

Gruß wisi
kogl-lb
Beiträge: 18
Registriert: 1. Mai 2017, 22:02

Re: Startseite nicht eingeloggter Besucher

Beitrag von kogl-lb »

Hallo zusammen,
ich muss das Thema noch einmal aufmachen. Ich habe einfach nichts im Forum gefunden, das mir weiterhilft.
Habe heute eine komplett jungfräuliche Admido-Installation mit allen verfügbaren Plugins außer Arbeitsdienst aufgesetzt.
Leider sind auch bei mir auf der Anmeldeseite einige Module für nicht eingeloggte Besucher zu sehen.
Schlimmer noch, die funktionieren auch.
Im Moment stehen da: Übersicht (nicht relevant), Nachrichten und Dokumente & Dateien. Nachrichten kann man schreiben, die Dokumente einsehen. Die restlichen Module wurden deaktiviert, weil sie nicht benutzt werden sollen.
Wie bekomme ich es hin, dass auf der Startseite keine Menüeinträge für nicht eingeloggte Besucher angezeigt werden?
Das Ganze sollte natürlich nach dem Abmelden genauso sein.
Vielen Dank vorab für die Hilfe!

Neueste Versionen von Admidio und allen Plugins
PHP 8.4.5
https://oberriexingen.kogl-lb.de
Viele Grüße und vielen Dank für die Hilfe!
Ekkehard Grabner
MightyMCoder
Developer
Beiträge: 41
Registriert: 21. Jun 2023, 14:46

Re: Startseite nicht eingeloggter Besucher

Beitrag von MightyMCoder »

Hallo kogl-lb,

Ich habe mir deine Seite mal angeschaut. Ich, als Besucher der Seite, sehe neben der Option Anmelden die Menüeinträge Übersicht, Nachrichten und Dokumente & Dateien.
  1. Dokumente & Dateien:
    Den Menüeintrag Dokumente & Dateien kannst du entfernen, indem du in den Berechtigungen im Hauptordner des Modules die Sichtbarkeit für „Alle (auch Besucher:innen)“ entfernst und nur spezielle Rollen auswählst. Hier mal beispielhaft an der Demo-Organisation gezeigt:

    Standard-Einstellungen:
    Bild


    Resultierendes Menü:
    Bild


    Beispielhafte Einstellungen:
    Bild


    Und daraus resultierendes Menü:
    Bild

    Damit verschwindet der Menüeintrag für nicht registrierte Benutzer beziehungsweise für alle, die nicht angemeldet sind.
  2. Nachrichten:
    Soweit mir bekannt ist, kann dieser Menü-Eintrag nur entfernt werden, indem das Nachrichten-Modul komplett deaktiviert wird. Bei dir ist es allerdings so, dass du keine Rolle definiert hast, an die Nachrichten geschrieben werden können, daher gibt es hier erst einmal keine Funktionalität hinter dem Eintrag.
    Du könntest die Datei menu.main.tpl im Ordner adm_templates/simple/templates/sys-templates-parts so abändern, dass der entsprechende Eintrag nicht erscheint. Hier mal beispielsweise ein Codeausschnitt aus der Template-Datei:

    Code: Alles auswählen

                {foreach $menuGroup.items as $menuItem}
    
    {if $menuItem.name != "Nachrichten"}
                    <li class="nav-item">
                        <a id="{$menuItem.id}" class="nav-link" href="{$menuItem.url}">
                            <i class="{$menuItem.icon} fa-fw"></i>{$menuItem.name}
                            {if $menuItem.badgeCount > 0}
                                <span class="badge badge-light">{$menuItem.badgeCount}</span>
                            {/if}
                        </a>
                    </li>
    {/if}
    
                {/foreach}
    
    Hierdurch wird der Menüeintrag „Nachrichten“ nicht erstellt.
  3. Übersicht:
    Um die einzelnen Karten auf der Übersichtsseite zu entfernen gibt es keinen „einfachen“ Weg.
    Du hast aber die Möglichkeit, die Datei overview.tpl im Ordner adm_templates/simple/templates so abzuändern, dass bestimme Karten nur angezeigt werden, wenn man eingeloggt ist. Das sieht dann beispielsweise so aus für die Geburtstage:

    Code: Alles auswählen

    {if $validLogin}
        <div class="admidio-overview-plugin col-sm-6 col-lg-4 col-xl-3" id="admidio-plugin-birthday">
            <div class="card admidio-card">
                <div class="card-body">
                    {load_admidio_plugin plugin="birthday" file="birthday.php"}
                </div>
            </div>
        </div>
    {/if}
    
    Hier wurden die Zeilen

    Code: Alles auswählen

    {if $validLogin}
    und

    Code: Alles auswählen

    {/if}
    ergänzt, um das Modul nur für angemeldete Benutzer anzuzeigen.
    Eine komplette Liste mit den möglichen Variablen zur Verwendung in den Template-Dateien findest du hier: https://www.admidio.org/dokuwiki/doku. ... tomization

    Falls du die Karten komplett entfernen möchtest, so kannst du die Blöcke auch einfach komplett entfernen oder auskommentieren (vgl. vorheriger Post von wisi01).
Ich hoffe, dass dir das weiterhilft und du damit die Startseite nach deinen Wünschen und Vorstellungen gestalten kannst.

Viele Grüße
MightyMCoder
kogl-lb
Beiträge: 18
Registriert: 1. Mai 2017, 22:02

Re: Startseite nicht eingeloggter Besucher

Beitrag von kogl-lb »

Hallo MightyMCoder,

erst mal muss ich meinen ganz großen Respekt für die Leistung zum Ausdruck bringen, die das ganze Team hier erbringt!

Die Geschichte mit den Dokumenten ist peinlich. Darauf hätte ich auch selbst kommen sollen. Die Buttons sind so groß, dass man sie eigentlich nicht übersehen kann.

Die Anmeldeseite sieht jetzt richtig perfekt aus. Alles wurde so durchgeführt, wie von Dir beschrieben.
Leider ist der Menüpunkt "Nachrichten" auch für angemeldete "Besucher" weg, wie Du es geschrieben hast. Habe einfach einen neuen Menüeintrag "E-Mail schreiben" erstellt. Das war's. So ist es wieder perfekt.

Kleiner Vorschlag. In den Menüeinträgen unter Administration und Plugins kann ich die Sichtbarkeit nach Rollen einstellen. Es wäre schön, wenn das für die Menüeinträge unter Module auch gehen würde.

Noch einmal herzlichen Dank für die super schnelle Hilfe!!!
... und macht jetzt mal über Ostern Pause ...
Schöne Feiertage!
Viele Grüße und vielen Dank für die Hilfe!
Ekkehard Grabner
MightyMCoder
Developer
Beiträge: 41
Registriert: 21. Jun 2023, 14:46

Re: Startseite nicht eingeloggter Besucher

Beitrag von MightyMCoder »

Hallo kogl-lb

Ich hatte leider noch einen Fehler in dem Code zu den Nachrichten… hab da gestern nicht fertig nachgedacht.
Mit dem vorherigen Code verschwindet der Menüeintrag „Nachrichten“ natürlich immer, das war so aber ja nicht gewünscht…

Hier der aktualisierte Eintrag für die Datei menu.main.tpl im Ordner adm_templates/simple/templates/sys-templates-parts, damit der Menüeintrag nur erscheint, wenn man angemeldet ist:

Code: Alles auswählen

            {foreach $menuGroup.items as $menuItem}
{if $menuItem.name == "Nachrichten"}
	{if $validLogin}
                <li class="nav-item">
                    <a id="{$menuItem.id}" class="nav-link" href="{$menuItem.url}">
                        <i class="{$menuItem.icon} fa-fw"></i>{$menuItem.name}
                        {if $menuItem.badgeCount > 0}
                            <span class="badge badge-light">{$menuItem.badgeCount}</span>
                        {/if}
                    </a>
                </li>
{/if}
{else}
                <li class="nav-item">
                    <a id="{$menuItem.id}" class="nav-link" href="{$menuItem.url}">
                        <i class="{$menuItem.icon} fa-fw"></i>{$menuItem.name}
                        {if $menuItem.badgeCount > 0}
                            <span class="badge badge-light">{$menuItem.badgeCount}</span>
                        {/if}
                    </a>
                </li>
{/if}
            {/foreach}
Der else Block ist hierbei der originale Block. Durch den if Block wird verhindert, dass der Menüeintrag erstellt wird, solange man nicht angemeldet ist. Der originale Code kommt auch im if Block zum Einsatz.

Wenn du diesen Code verwendest, dann musst du keinen neuen Menüeintrag anlegen.

Natürlich musst du immer darauf achten, dass du diese Änderungen bei einem Update nicht überschreibst. Außerdem musst du darauf achten, dass nach einem Update immer noch alles so funktioniert wie gewünscht.


In einer neuen Version schauen wir, dass sich alle Module in dieser Hinsicht gleich steuern lassen. Die aktuell unterschiedliche Handhabung über die Einstellungen ist dem ständigen Wachsen und hinzukommen neuer Funktionalitäten geschuldet.

Viele Grüße und frohe Ostern
MightyMCoder
Antworten