WS 3.0 Popup

  • Ich habe ein Popup, indem der User Zustimmen oder Ablehnen muss, dass er mit dem Sammel anonymisierter Daten einverstanden ist, jedoch kann er ohne das ich den Cookie zurücksetze seine Zustimmung nicht widerrufen.

    Und noch praktischer wäre es, wenn man einstellen könnte, dass der User vorher nicht das Popup schließen kann.

    Lg

  • Wenn das Popup erst mal geschlossen ist, wie soll der dann den Link zum Widerruf anklicken? Das Popup ist ja dann erst mal nicht mehr erreichbar.


    Ein Link zum Löschen des Cookies kann schon einbauen. Ich schaue mal nach dem Code.

  • Ich habs jetzt nicht getestet, sollte aber funktionieren:

    HTML
    1. <a class="popupRemoveCookie button">Zustimmung widerrufen</a>
    2. <div class="success popupRemoveCookieInfo" style="display: none;">Die Zustimmung wurde widerrufen.</div>
    3. <script data-relocate="true">
    4. $('.popupRemoveCookie').click(function(){
    5. $.removeCookie('wcf_popup', { path: '/' });
    6. $('.popupRemoveCookieInfo').css('display', 'block');
    7. $('.popupRemoveCookieInfo').delay(1000).fadeOut();
    8. $('.popupBase').css('display', 'block');
    9. });
    10. </script>

    Wenn du die Klasse button entfernst, dann bekommst du einen einfachen Textlink.


    Reicht dir das so?

  • Das hier scheint nicht ganz zu stimmen


    Code
    1. POPUP_GUESTS_COOKIENAME
    Code
    1. <script data-relocate="true">
    2. $('.popupRemoveCookie').click(function(){
    3. $.cookie('{POPUP_GUESTS_COOKIENAME}', '', { expires: -1, path: '/'});
    4. $('.popupRemoveCookieInfo').css('display', 'block');
    5. $('.popupRemoveCookieInfo').delay(1000).fadeOut();
    6. });
    7. </script>

    So setzt er nur den Cookie


  • So klappt das ganze:


    Code
    1. <script data-relocate="true">
    2. $('.popupRemoveCookie').click(function(){
    3. $.cookie('Mein_Popup_Cookie', '', { expires: -1, path: '/'});
    4. $('.popupRemoveCookieInfo').css('display', 'block');
    5. $('.popupRemoveCookieInfo').delay(1000).fadeOut();
    6. });
    7. </script>

    Klasse wäre es noch, das ganze ohne vorher seinen Cookie eingeben zu müssen (wcf_popup) das automatisch (wie du es versucht hast über {POPUP_GUESTS_COOKIENAME}) zu machen

  • Ok, Footer klappt dann nur mit Cookiename.


    Mehrere Popups gehen mit dem Plugin nicht, aber im Prinzip ist das ja nur eine HTML-Box die man beliebig duplizieren kann wenn man darauf achtet das man keine doppelten Namen verwendet.


    Ein Plugin für mehrere Popups ist in Planung und wird wohl mit WoltLab Suite 5.2 kommen.

  • Ok, Footer klappt dann nur mit Cookiename.

    Wo würde dies den klappen?

    Mehrere Popups gehen mit dem Plugin nicht, aber im Prinzip ist das ja nur eine HTML-Box die man beliebig duplizieren kann wenn man darauf achtet das man keine doppelten Namen verwendet.

    Wie stelle ich das an? Vorallem damit das per Cookie gespeichert wird, oder geht das ohne neues Plugin nicht?

  • Wo würde dies den klappen?

    Du kannst ein Template mit dem Code erstellen und dann im Footer einfügen:


    https://www.woltlab.com/article/97-anpassung-von-templates/


    Du kannst das Template zum Beispiel "popupCookie" nennen und dann im Footer einfügen über:


    {include file='popupCookie'}



    Ich schau mal ob ich dir ein abgespecktes HTML-Gerüst erstellen kann das du beliebig oft verwenden kannst.

  • Danke dir, echt super

  • Ich habe das ganze über die Footerbox jetzt so gelöst:


    Lg