PopUp Fenster mit selbst erstellten Button schließen

Thema wurde von stefanzils, 28. Oktober 2016 erstellt.

  1. stefanzils

    stefanzils Mitglied

    Registriert seit:
    10. Januar 2016
    Beiträge:
    5
    Danke erhalten:
    0
    Danke vergeben:
    1
    Hallo liebe Gambio Gemeinde.
    Unter Shop Offline/ Pop Up kann ich ja bekannter weise ein eigenes Popup Fenster erstellen.
    Mit welchen html Code kann ich denn einen Button erstellen, der dieses Fenster anstelle des X oben rechts, wieder schließen kann ?
    mit Close.Window komme ich da doch nicht weit ?

    Hilfe ich verzweifle. :)

    Viele Grüße
    Stefan
     
  2. stefanzils

    stefanzils Mitglied

    Registriert seit:
    10. Januar 2016
    Beiträge:
    5
    Danke erhalten:
    0
    Danke vergeben:
    1
    Gibt's denn niemanden, der helfen kann ?
     
  3. esc.support

    esc.support Mitglied

    Registriert seit:
    17. September 2016
    Beiträge:
    9
    Danke erhalten:
    1
    Danke vergeben:
    6
    Hallo Stefanzils,
    ich bin auf deinen Beitrag gestoßen, weil ich ebenfalls auf der Suche nach einer entsprechenden Lösung bin.
    Ich würde mich freuen, wenn du etwas rausfindest und es hier teilst,
    Vielen Dank.
     
  4. <form>
    <input type="button" value="close" onClick="window.close()">
    </form>

    Sollte gehen
     
  5. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
    So einfach wie die Lösung vom Michael ist es dann leider doch nicht. Bei Michaels Lösung dürfte es dann nämlci dazu kommen, dass das Pop-Up immer wieder kommt, sobald man die Seite neu lädt oder im Shop auf eine andere Seite wechselt.

    Ihr braucht mindestens noch die Klasse
    HTML:
    hide-popup-notification
    an eurem Button. Damit das dann auch Shop Styles hat, sollte der Code folgendermaßen aussehen:

    HTML:
    <a class="btn btn-default hide-popup-notification" href="#">Schließen</a>
    Ein form-Tag mit einem input-Element wird hierfür nicht benötigt. Alles weitere regelt dann nämlich unser JavaScript :)
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    12. Oktober 2016
    Beiträge:
    241
    Danke erhalten:
    19
    Danke vergeben:
    188
    Wie und wo bindet man das dann ein?
     
  7. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
    Du erstellst dir von der templates/Honeygrid/module/popup_notification.html eine USERMOD und baust meinen Codeschnipsel an einer Stelle ein, wo du ihn hinhaben willst. :)

    Entweder statt dem
    HTML:
    <i class="fa fa-close col-xs-1 hide-popup-notification"></i>
    da wird es dann anstelle des "x" angezeigt.

    Oder hinter dem
    HTML:
    {$content_data.popupNotification->getContentByLanguageId($languages_id)}
    da sollte es dann hinter dem Text des PopUps angezeigt werden.
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    12. Oktober 2016
    Beiträge:
    241
    Danke erhalten:
    19
    Danke vergeben:
    188
    #8 Anonymous, 25. November 2016
    Zuletzt bearbeitet: 25. November 2016
    Ah ok, prima...danke dir. Hat super geklappt - ich wollte das auch bei der Cokkie-Bar einbauen - also statt dem Kreuz das *Schließen* - hat net funktioniert :D hat alles verschoben dann lol
     
  9. esc.support

    esc.support Mitglied

    Registriert seit:
    17. September 2016
    Beiträge:
    9
    Danke erhalten:
    1
    Danke vergeben:
    6
    Hallo Torben,
    vielen Dank, genau die richtige Lösung!

    Schönes Wochenende!
     
  10. Karlheinz

    Karlheinz Erfahrener Benutzer

    Registriert seit:
    14. April 2012
    Beiträge:
    57
    Danke erhalten:
    5
    Danke vergeben:
    29
    @Torben (Gambio)
    Habe hier Buttons erstellt, welche auf eine interne Seite verlinken.
    Mit welchem Code ist es möglich, bei Klick auf den Button die verlinke Seite anzuzeigen, und gleichzeitig das Schließen des Fensters zu bewirken?

    Mein div:
    <div id="popcontainer-buttons"><a class="btn btn-pop btn-block pop" href="shop.php?do=CreateRegistree">zur H&auml;ndler-Registrierung</a>
    <a class="btn btn-default btn-block pop" href="login.php">bin schon H&auml;ndler-Kunde</a></div>
     

    Anhänge:

  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    13. Juni 2015
    Beiträge:
    55
    Danke erhalten:
    1
    Danke vergeben:
    13
    Andieser Stelle scheitere ich auch gerade. Also ein Bild, welches auf einen Artikel verlinkt soll auf die Shopseite gehen und gleichzeitig das PopUp Fenster schließen. Bisher wechselt bei Klick zwar die Seite im Hintergrund, das PopUp bleibt aber geöffnet.

    Hat da jemand einen Schnippel für mich ?

    Vielen Dank an alle.
     
  12. wvnetdesign

    wvnetdesign Erfahrener Benutzer

    Registriert seit:
    16. Januar 2013
    Beiträge:
    393
    Danke erhalten:
    1
    Danke vergeben:
    95
    @Karlheinz und @NeMi konntet Ihr Euer Problem lösen? Ich möchte ebenfalls das Popup für eine Auswahl nutzen. Mit Klick auf die Auswahlmöglichkeit soll die entsprechende Seite öffnen und das Popup schliessen.
    Die Klasse oben macht ja "nur" das Popup zu.
     
  13. Karlheinz

    Karlheinz Erfahrener Benutzer

    Registriert seit:
    14. April 2012
    Beiträge:
    57
    Danke erhalten:
    5
    Danke vergeben:
    29
    Hallo,
    @ heidemarie, nein, das Problem ist nicht gelöst. Hier im Forum gab es keine Hilfe. Habe mir ein Angebot von Gambio machen lassen.
    Zirka 200,00 EUR Programmier-Kosten. Bin noch unschlüssig.
     
  14. wvnetdesign

    wvnetdesign Erfahrener Benutzer

    Registriert seit:
    16. Januar 2013
    Beiträge:
    393
    Danke erhalten:
    1
    Danke vergeben:
    95
  15. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
    Entschuldigt, dass so lange keine Rückmeldung von mir kam. Der Thread ist mir scheinbar vor einiger Zeit durchgerutscht, sodass er bei mir in Vergessenheit geraten ist. Das Ganze ist leider auch nicht wirklich einfach lösbar.

    Sobald die Klasse "hide-popup-notification" verwendet wird, wird da ein JavaScript ausgelöst, welches sich um das Schließen des PopUps kümmert. Dieses JavaScript versteht allerdings von sich aus nicht, dass man auf einen Link weitergeleitet werden möchte. Das müsste man dem JavaScript also erstmal beibringen, und ist ohne weiteres nicht updatesicher. Damit man das JavaScript anpassen kann muss einmal das hier: https://www.gambio.de/forum/threads/javascripte-im-honeygrid-ueberladen.25421/#post-255809 und die nachfolgenden zwei Posts in dem Thread beachtet werden.

    Wenn ihr umgesetzt habt, was ich euch da verlinkt habe, könnt ihr beginnen die entsprechende Datei zu kopieren und auf eure Bedürfnisse anzupassen. Angepasst/überladen werden muss die notifications.js.

    In dieser findet sich folgender Code:

    Code:
    var _hidePopUpNotification = function(event) {
                event.stopPropagation();
    
                $.ajax({
                           type: 'POST',
                           url: 'request_port.php?module=Notification&action=hide_popup_notification',
                           timeout: 5000,
                           dataType: 'json',
                           context: this,
                           data: {},
                           success: function(p_response) {
                                   $('.popup-notification').remove();
                           }
                       });
    
                return false;
            };
    welcher wie folgt erweitert werden muss:

    Code:
    var _hidePopUpNotification = function(event) {
                event.stopPropagation();
    
                $.ajax({
                           type: 'POST',
                           url: 'request_port.php?module=Notification&action=hide_popup_notification',
                           timeout: 5000,
                           dataType: 'json',
                           context: this,
                           data: {},
                           success: function(p_response) {
                                   var link = $(this).attr('href');
                              
                               $('.popup-notification').remove();
                              
                               if (link !== '' && link !== '#') {
                                    window.location.replace(link);
                               }
                           }
                       });
    
                return false;
            };
     
  16. Karlheinz

    Karlheinz Erfahrener Benutzer

    Registriert seit:
    14. April 2012
    Beiträge:
    57
    Danke erhalten:
    5
    Danke vergeben:
    29
    #16 Karlheinz, 2. November 2017
    Zuletzt bearbeitet: 2. November 2017
    Hallo Torben,
    da gibt es nichts zu entschuldigen. Bei den nimmer endenden Baustellen einer Shop-Programmierung ist Euer aller Arbeitseinsatz eh erstaunlich. Dafür kann man Euch immer freundlichen Arbeitsbienen gar nicht genug dankbar sein.
    Werde Deinen Vorschlag mal versuchen umzusetzen. Alternativ kann ich immer noch den Service beauftragen.
     
  17. wvnetdesign

    wvnetdesign Erfahrener Benutzer

    Registriert seit:
    16. Januar 2013
    Beiträge:
    393
    Danke erhalten:
    1
    Danke vergeben:
    95
    Ich unterschreib mal das was Karlheinz getippt hat. Werde mich bei Gelegenheit auch dran machen.
     
  18. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    367
    Danke erhalten:
    118
    Danke vergeben:
    39
    Wer ein Javascript sucht für das Schließen des Fensters:

    Code:
    $(".hide-popup-notification").click();
    Gleiches Beispiel mit Zeitverzögerung:

    Code:
    setTimeout(function(){$(".hide-popup-notification").click();}, 5000);

    Gruß
    Mike
     
  19. david_malecki

    david_malecki Erfahrener Benutzer

    Registriert seit:
    12. Dezember 2017
    Beiträge:
    46
    Danke erhalten:
    0
    Danke vergeben:
    16
    Hallo Mike,
    danke. Kannst du mir bitte erklären, wo ich das Javascpript einbinde, damit das PopUp sich bei Klick schließt?
    Vielen Dank.
    Gruß,
    David
     
  20. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    367
    Danke erhalten:
    118
    Danke vergeben:
    39
    Hallo David,

    das kommt nun ganz darauf an wie du deinen Umbau gestaltet hast.
    Wo liegt denn dein Script?
    Normal macht man sowas updatesicher über die GXModules als Overload oder als Template-Usermod.

    Generell braucht der o.g. Befehl nur innerhalb deiner Funktion zu stehen.

    Gruß
    Mike