Contao-Camp 2024
Ergebnis 1 bis 4 von 4

Thema: Hinweisbox auf Startseite nur 1x pro Sitzung/Tag, nur dann darf Inhalt gezeigt werden

  1. #1
    Contao-Nutzer Avatar von Robby1
    Registriert seit
    18.11.2016.
    Ort
    Hanau (Hessen)
    Beiträge
    92

    Standard Hinweisbox auf Startseite nur 1x pro Sitzung/Tag, nur dann darf Inhalt gezeigt werden

    Hallo Contao-Gemeinde,

    ich muss eine Webseite bauen, bei der ganz am Anfang auf der Startseite ein Hinweis-Fenster mit rechtlichen Hinweisen erscheint (Disclaimer bei (Aktien-)Fonds; keine Cookie-Hinweise, die müssen noch zusätzlich später rein). Die Besucher müssen ein Häckchen setzen und dann auf Bestätigen klicken und erst dann soll das Hinweis-Fenster mit dem Disclaimer verschwinden und der Webseiten-Inhalt soll angezeigt werden. Das (Häckchen setzen und Weiterleitung auf eine bestimmte Seite über Bestätigen-Button) habe ich irgendwie hinbekommen über Javascript (halb selbst gebaut halb Code kopiert).

    Das Problem ist, dass ich eine Lösung benötige wo - wie oben beschrieben - am Anfang das Hinweis-Fenster erscheint (mit Häckchen setzen und danach auf Bestätigen-Button klicken) wo aber auch dieses Hinweisfenster NUR 1x PRO SITZUNG oder z.B. NUR 1 X PRO TAG oder WOCHE erscheint UND NICHT JEDESMAL, WENN MAN AUF DIE STARTSEITE KLICKT. Ich vermute, ich brauche etwas, wo am Anfang ein Cookie gesetzt wird und dann beim Click auf die Startseite immer abgefragt wird, ob es noch gelten soll. Die Gültigkeit ist dann die Dauer des geöffneten Browserfenster oder der geöffneten Webseite oder wird auf 24h oder 1 Woche eingestellt.

    Leider kann ich mir sowas nicht selbst basteln. Daher folgende Fragen:
    1. Gibt es dafür einen Trick?
    2. Gibt es dafür eine Erweiterung oder eine Javascript-Vorlage?
    3. Gibt es einen Contao-Profi/-Agentur, der/die das für mich übernehmen kann, indem man ein kleines Script/Code baut?

    Ich bedanke mich im Voraus für Ideen und Tipps!

    Gruß aus Hanau!

    Robby

  2. #2
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo
    [erdmannfreunde/euf_overlay]
    ist wohl nicht genau das, was du suchst, aber ggf. bringt dich der Aufbau weiter. Oder aber du klopfst mal bei Dennis an
    Grüsse
    Bernhard


  3. #3
    Contao-Nutzer Avatar von BennyBorn
    Registriert seit
    10.06.2011.
    Ort
    Edenkoben
    Beiträge
    239
    Partner-ID
    6916

    Standard

    Zitat Zitat von Robby1 Beitrag anzeigen
    3. Gibt es einen Contao-Profi/-Agentur, der/die das für mich übernehmen kann, indem man ein kleines Script/Code baut?
    Hab ich vor zwei Jahren für vereinzelte Kunden gemacht zwecks Corona-Hinweis.

    Einfach ein Template anlegen z.B. mod_article_emergency_overlay.html5 mit folgendem Inhalt:

    HTML-Code:
    <div id="emergency-overlay">
        <div>
            <span class="close" title="Hinweis schließen">
                <span></span>
                <span></span>
            </span>
            <?php $this->block('content'); ?>
            <?= implode('', $this->elements) ?>
            <?php $this->endblock(); ?>
        </div>
        <script>
         // emergency overlay
        (function(){
    
            var overlay = document.getElementById('emergency-overlay');
    
            if( !overlay ) {
                return;
            }
    
            if( typeof(window.localStorage) !== "undefined" ) {
    
                var itemName = 'emergency-overlay';
                var dismissed = window.localStorage.getItem(itemName);
                var maxDays = 1;
    
                if( dismissed ) {
    
                    var currTime = Math.round(new Date().getTime()/1000);
    
                    if( (currTime-dismissed) >= (86400*maxDays) ) {
                        window.localStorage.removeItem(itemName);
                    } else {
    
                        overlay.parentNode.removeChild(overlay);
                        return;
                    }
                }
    
                var handleDismiss = function() {
                    window.localStorage.setItem(itemName, Math.round(new Date().getTime()/1000));
                    overlay.parentNode.removeChild(overlay);
                };
    
                overlay.querySelector('span.close').addEventListener('click',handleDismiss);
    
            } else {
    
                overlay.parentNode.removeChild(overlay);
            }
    
        })();
        </script>
    </div>
    Dann einen extra Artikel in eine versteckte Seite mit diesem Template versehen.
    In der fe_page.html5 habe ich dann per {{insert_article::xx}} den Artikel eingebunden.

    So kann man beliebige Inhalte reinpacken und das Ding bei Bedarf ein- und ausblenden

    Edit: Ist jetzt natürlich nicht 1:1 die Anforderung mit dem Häkchen aber vielleicht hilft es ja. Falls nicht melde Dich gern bei mir

  4. #4
    Contao-Nutzer Avatar von Robby1
    Registriert seit
    18.11.2016.
    Ort
    Hanau (Hessen)
    Beiträge
    92

    Standard

    Hallo,

    vielen Dank für die Mega-Hilfe und das Kontaktangebot. Klasse echt.

    Ich probiere das mal aus.

    Viele Grüße aus Hanau!

    Gruß! Robby

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •