Ticket sichern für VueJS-Konferenz 2022
Ergebnis 1 bis 40 von 40

Thema: oveleon/contao-cookiebar und iframe bzw. Google Maps

  1. #1
    Contao-Nutzer
    Registriert seit
    12.02.2014.
    Beiträge
    181

    Standard oveleon/contao-cookiebar und iframe bzw. Google Maps

    Hallo zusammen,

    ich würde gerne über die Cookiebar die GoogleMaps-Anzeige erlauben, habe aber leider keine Hinweise gefunden, wie ich denn dann letztendlich GoogleMaps bzw. den Hinweis auf den blockierten Inhalt in die eigentlich Seite einbinden muss. Die Belegung innerhalb der Cookiebanner-Einstellungen ist klar. Kann mir jemand auf die Sprünge helfen?

    Danke,

    Misios

  2. #2
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    820

    Standard

    Hast du deine Maps Google Karte via iframe eingebunden und das passende Template gewählt?

  3. #3
    Contao-Nutzer
    Registriert seit
    12.02.2014.
    Beiträge
    181

    Standard

    ich hab bisher den iframe-Code einfach in den Quelltext eines Textelements (ce_text) kopiert.
    Welches Template muss ich denn nutzen, damit es im Zusammenspiel mit dem Cookiebanner klappt?

  4. #4
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    130
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Misios Beitrag anzeigen
    ich hab bisher den iframe-Code einfach in den Quelltext eines Textelements (ce_text) kopiert.
    Welches Template muss ich denn nutzen, damit es im Zusammenspiel mit dem Cookiebanner klappt?
    Hallo Misios,

    dafür musst du den iFrame in ein HTML Content-Element (ce_html) einfügen und das Template ce_html_googlemaps auswählen. Sofern du einen entsprechenden Cookie-Typen in der Konfiguration angelegt hast, wird der Inhalt automatisch geblockt bis der Cookie durch den Besucher akzeptiert wurde.

    EDIT: Wenn ich so darüber nachdenke, sollte es sogar möglich sein, die iFrames innerhalb eines ce_text-Templates zu blockieren. Dennoch würde ich dafür ein weiteres ce_text_googlemaps Template anlegen (einfache Kopie von ce_text) um nicht im Hintergrund immer alle ce_text-Templates überprüfen zu lassen. Dieses neue Template müsste dann einfach in der config.yml unter den Templates für das googlemaps Modul aufgenommen und im Content-Element ausgewählt werden.

    Hier ein Beispiel (oder hier):

    Code:
    contao_cookiebar:
      iframe_types:
        googlemaps: 
          - ce_text_googlemaps
    Habe es selber nicht getestet aber das könnte klappen :-P

    LG Doi
    Geändert von Doi (01.10.2020 um 14:30 Uhr)

  5. #5
    Contao-Nutzer
    Registriert seit
    12.02.2014.
    Beiträge
    181

    Standard

    Hey Doi, mit dem ce_html_googlemaps hab ich es hinbekommen. Danke für die Erklärung.

    Im ce_text_googlemaps mit Anlegen in einer config.yml hat es allerdings nicht geklappt.

    Viele Grüße,
    Misios

  6. #6
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    130
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Misios Beitrag anzeigen
    Hey Doi, mit dem ce_html_googlemaps hab ich es hinbekommen. Danke für die Erklärung.
    Super

    Zitat Zitat von Misios Beitrag anzeigen
    Im ce_text_googlemaps mit Anlegen in einer config.yml hat es allerdings nicht geklappt.
    Okay, gut zu wissen, werde es mir bei Gelegenheit mal anschauen, danke für's testen!

    LG Doi

  7. #7
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    820

    Standard

    Im ce_text_googlemaps mit Anlegen in einer config.yml hat es allerdings nicht geklappt.
    Hattest du denn auch im Anschluss im CM den Cache neu aufbauen lassen?

  8. #8
    Contao-Fan
    Registriert seit
    28.01.2010.
    Beiträge
    312

    Standard

    Hallo,
    da hätte ich auch noch eine Frage:
    GoogleMaps ist als Erweiterung installiert und wird ja dann in der Seite als <div class="ce_dlh_googlemaps last block"... usw. ausgegeben.

    Wie geht's denn dann mit dem Oveleon-Cookie Banner?

  9. #9
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    130
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dafür musst du das Template der Erweiterung leicht anpassen. Schau mal, hier haben wir bereits eine kleine Anleitung dafür:
    https://github.com/oveleon/contao-cookiebar/issues/17

  10. #10
    Contao-Fan
    Registriert seit
    28.01.2010.
    Beiträge
    312

    Standard

    Vielen Dank für den Link und die Tipps.
    Wow, das muss ich noch eine paar mal lesen...

    Ich verstehe nur noch nicht, wie ich die cookieID finden kann...

  11. #11
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    130
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das ist die ID des Cookie-Typen im Backend, welche du bspw. über das "Info"-Symbol auslesen kannst. Für diesen Fall erstelle ich bspw. immer den Cookie-Typen "iFrame -> Google Maps", hole mir die ID und übergebe diese dann der addModule-Methode. So wird nicht nur die Map der Erweiterung, sondern auch alle Google Maps, welche mittels iFrame eingebunden sind, auf der Seite blockiert/entsperrt.

  12. #12
    Contao-Fan Avatar von intradesign
    Registriert seit
    28.07.2015.
    Beiträge
    291

    Standard

    Hallo zusammen,

    ich beschäftige mich auch gerade damit und würde gerne eine Google Map mit dlh_googlemap einbinden (bzw. mehrere Karten).

    Den folgenden Beitrag habe ich mir angeschaut.

    Zitat Zitat von Doi Beitrag anzeigen
    Dafür musst du das Template der Erweiterung leicht anpassen. Schau mal, hier haben wir bereits eine kleine Anleitung dafür:
    https://github.com/oveleon/contao-cookiebar/issues/17
    Ich verstehe aber überhaupt nicht, was an welchen Templates oder sonstigen Scripten geändert werden muss. Kann mir da noch jemand auf die Sprüge helfen?

    Danke und viele Grüße
    Timo

  13. #13
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    130
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hier ist bspw. das Template `ce_dlh_googlemaps_default.html5` und/oder `mod_dlh_googlemaps_default.html5` gemeint.
    Im Standard ruft die Erweiterung über folgendes Skript (innerhalb der Templates) eine Methode auf, welche die Google Karte initialisiert:

    Code:
    if(window.addEvent) {
            window.addEvent('domready', function() {
                gmap<?= $this->map['id']; ?>_initialize();
            });
        } else if(typeof jQuery == "function") {
            jQuery(document).ready(function(){
                gmap<?= $this->map['id']; ?>_initialize();
            });
        } else {
            window.setTimeout("gmap<?= $this->map['id']; ?>_initialize()", 500);
        }
    Dieses Skript muss durch folgendes ersetzt werden, damit die Initialisierung erst nach Zustimmung passiert:

    Code:
    document.addEventListener("DOMContentLoaded", function() {
        cookiebar.addModule(cookieIdOfGoogleMaps, gmap<?= $this->map['id']; ?>_initialize);
    });
    Parameter 1 (cookieIdOfGoogleMaps): Definiert die ID des Cookie-Typen innerhalb deiner Cookiebar-Konfiguration (muss angepasst werden!)
    Parameter 2: Definiert die von der Erweiterung gelieferte Initialisierungs-Methode

    Über einen dritten Parameter kannst du eigene Platzhalterdefinitionen ergänzen, welche ausgegeben werden, wenn der Service noch nicht akzeptiert wurde.
    Ausgabe mit eigenem Platzhalter:
    Code:
    document.addEventListener("DOMContentLoaded", function() {
        cookiebar.addModule(cookieIdOfGoogleMaps, gmap<?= $this->map['id']; ?>_initialize, {
            selector: '#element',           // [required: string, HTMLElement] Defines the element in which the message is output
            message: 'Your text',           // [optional: string] The text to be displayed
            button: {                       // [optional: object]
                show: true,                 // [required: bool]   Extends the output by a confirmation button,
                text: 'Custom button text', // [optional: string] Button text
                type: 'button',             // [optional: string] Button type
                classes: 'first second'     // [optional: string] Own CSS classes for the button separated by spaces
            }
        });
    });

  14. #14
    Contao-Nutzer
    Registriert seit
    12.12.2017.
    Beiträge
    19

    Standard

    Hi,

    an dieser Stelle hänge ich jetzt auch. Ich habe die Templates von dlh wie oben beschrieben geändert, aber leider wird statt der Karte nur weiße Fläche angezeigt. Und wenn Google Maps in der Cookiebar nicht freigegeben ist, ebenfalls nur weiße Fläche.

    Was ist denn noch zu bedenken/zu ändern?

  15. #15
    Contao-Nutzer
    Registriert seit
    12.12.2017.
    Beiträge
    19

    Standard

    Ach so, vielleicht liegt es an dem Eintrag hinter "selector:"

    Was bedeutet "[required: string, HTMLElement] Defines the element in which the message is output" - was muss dort drin stehen? Bzw. woraus bezieht sich das?

  16. #16
    Contao-Nutzer
    Registriert seit
    12.12.2017.
    Beiträge
    19

    Standard

    Jetzt hats funktioniert!!

    Habe folgenden Code eingesetzt:

    Code:
    document.addEventListener("DOMContentLoaded", function() {
        cookiebar.addModule(cookieIdOfGoogleMaps, gmap<?= $this->map['id']; ?>_initialize, {
            selector: '#dlh_googlemap_<?= $this->map['id']; ?>',           // [required: string, HTMLElement] Defines the element in which the message is output
            message: 'Dieser Inhalt des Drittanbieters Google Maps wird aufgrund Ihrer fehlenden Zustimmung zu Drittanbieter-Inhalten von Google Maps nicht angezeigt.',           // [optional: string] The text to be displayed
            button: {                       // [optional: object]
                show: true,                 // [required: bool]   Extends the output by a confirmation button,
                text: 'Google Maps akzeptieren und anzeigen', // [optional: string] Button text
                type: 'button',             // [optional: string] Button type
                classes: 'first second'     // [optional: string] Own CSS classes for the button separated by spaces
            }
        });
    });
    Wobei cookieIdOfGoogleMaps wie schon oben erläutert, die Cookie-ID des des Cookie-Typen innerhalb der Cookiebar-Konfiguration ist.

  17. #17
    Contao-Fan Avatar von intradesign
    Registriert seit
    28.07.2015.
    Beiträge
    291

    Standard

    Prima, vielen Dank. Das teste ich morgen.

  18. #18
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    130
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von cch Beitrag anzeigen
    Was bedeutet "[required: string, HTMLElement] Defines the element in which the message is output" - was muss dort drin stehen? Bzw. woraus bezieht sich das?
    Das hier ein Selektor als string oder ein HTMLElement übergeben werden kann, um innerhalb dessen den Platzhaltertext anzeigen zu lassen.
    Alles hinter // sind Kommentare und müssen nicht übernommen werden.

    Dein Code kann also wie folgt aussehen:
    Code:
    document.addEventListener("DOMContentLoaded", function() {
        cookiebar.addModule(cookieIdOfGoogleMaps, gmap<?= $this->map['id']; ?>_initialize, {
            selector: '#dlh_googlemap_<?= $this->map['id']; ?>',
            message: 'Dieser Inhalt des Drittanbieters Google Maps wird aufgrund Ihrer fehlenden Zustimmung zu Drittanbieter-Inhalten von Google Maps nicht angezeigt.',        
            button: {
                show: true,
                text: 'Google Maps akzeptieren und anzeigen'
            }
        });
    });

  19. #19
    Contao-Fan Avatar von intradesign
    Registriert seit
    28.07.2015.
    Beiträge
    291

    Standard

    Das hat jetzt bei mir auch geklappt... Nochmal vielen Dank!

  20. #20
    Contao-Nutzer Avatar von Tompaianer
    Registriert seit
    16.04.2010.
    Ort
    Dresden
    Beiträge
    65

    Standard cc-description link

    Wenn ich in der Beschreibung (blockiert) einen Link zum Datenschutz setze, kommt folgendes dabei raus: domain.de/cookiebar/block/datenschutz
    Also lande ich auf 404. Was muss ich denn da ändern oder angeben.

  21. #21
    Contao-Nutzer
    Registriert seit
    24.02.2021.
    Beiträge
    26
    Partner-ID
    11715

    Standard

    Zitat Zitat von Tompaianer Beitrag anzeigen
    Wenn ich in der Beschreibung (blockiert) einen Link zum Datenschutz setze, kommt folgendes dabei raus: domain.de/cookiebar/block/datenschutz
    Also lande ich auf 404. Was muss ich denn da ändern oder angeben.
    Hallo @Tompaianer,

    folgendes Issue beschreibt den selben Fehler:

    https://github.com/oveleon/contao-cookiebar/issues/20

    Auch in "Antworten auf häufig gestellte Fragen"

    ? Warum werden meine Verlinkungen, welche ich über den Editor einfüge, nicht korrekt aufgelöst?

    Sollten Verlinkungen über den Editor (vor allem für die Block-Nachricht in iFrames) als Insert-Tags eingefügt werden, werden diese fälschlicherweise an die von der Cookiebar generierten Block-URL angehangen. Um das zu umgehen, muss die Domain vorangestellt werden. Der Link, sollte dann wie folgt eingepflegt werden:

    HTML-Code:
    {{environment::url}}/{{link_url::3}}

  22. #22
    Contao-Nutzer
    Registriert seit
    24.02.2017.
    Beiträge
    173

    Standard ce_html_googlemaps Größe anpassen

    Hallo zusammen,

    ich hänge mich einfach mal hier an. Ich habe gerade die cookiebar-Erweiterung installiert und dann auch die bisher einfach über ein iframe eingebundene Goggle-Karte über das ce_html_googlemaps Template eingebunden, damit die Cookie-Einstellungen auch entsprechend ausgewertet werden. Leider ist der Kartenausschnitt standardmäßig sehr klein. Gibt es eine Möglichkeit die Größe zu beeinflussen ohne das Template selbst zu verändern? Ich finde keine Parameter dazu und weder hier im Forum noch sonstwo etwas...

    Vielen Dank im Voraus

  23. #23
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    30.082
    Partner-ID
    10107

    Standard

    Das regelst du doch per CSS?
    » sponsor me via GitHub or PayPal or Revolut

  24. #24
    Contao-Nutzer
    Registriert seit
    24.02.2017.
    Beiträge
    173

    Standard

    Ich kann die CSS-Angaben schon im HTML des Elemts einbauen. Ich dachte nur, dass es evtl. einen globalen Parameter für so was gäbe, der die Responsivität zuverlässiger regelt. Aber wenn CSS das Mittel der Wahl ist, komme ich damit auch klar.

  25. #25
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    30.082
    Partner-ID
    10107

    Standard

    Zitat Zitat von robinhutter Beitrag anzeigen
    Ich kann die CSS-Angaben schon im HTML des Elemts einbauen.
    Warum im HTML? Einfach in deinen regulären Stylesheets.
    » sponsor me via GitHub or PayPal or Revolut

  26. #26
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    339

    Standard

    Zitat Zitat von cch Beitrag anzeigen
    Jetzt hats funktioniert!!

    Habe folgenden Code eingesetzt:
    Code:
    document.addEventListener("DOMContentLoaded", function() {
    Wobei cookieIdOfGoogleMaps wie schon oben erläutert, die Cookie-ID des des Cookie-Typen innerhalb der Cookiebar-Konfiguration ist.
    Kannst du mir sagen welcher Cookie-Typ hier verwendet werden muss?
    Ich habe einen Cookie-Typ "Hinweis" angelegt. Die ID im Code übergeben. Das funktioniert schonmal.
    Was muss ich den bei Cookie-Token eintragen? Ist das für die korrekte Funktion relevant?
    Rechtschreibfehler sind pure Absicht und dienen der Erheiterung. Wer einen findet darf ihn gerne behalten!

  27. #27
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    130
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Kannst du mir sagen welcher Cookie-Typ hier verwendet werden muss?
    Am besten legst du dir hierfür einen "iFrame -> Google Maps"-Typen an. So kannst du mit einem Cookie-Typen gleich Google Maps per iFrame`s als auch über die API regeln.
    Im Token-Feld sollten alle Cookies, welche vom Service gesetzt werden, aufgenommen werden, damit die Cookiebar diese wieder zuverlässig löschen kann.

  28. #28
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    339

    Standard

    Hallo zusammen,

    bei mir werden, bei fehlender Zustimmung in der Cookiebar, trotzdem folgende Daten von

    https://maps.google.com
    https://maps.googleapis.com

    geladen.

    Cookies werden keine gesetzt.

    Ist das normal bzw. wie kann ich das laden der Skripte unterbinden?

    Danke + Gruß

    PS: Sobald der Service in der Cookiebar akzeptiert wurde werden Scripte siehe Anlage geladen.
    Bildschirmfoto 2022-06-06 um 08.08.16.png

    Eingebunden werden die Karten mit
    ce_dlh_googlemaps_default.html5

    das Template wurde wie folgt angepasst
    PHP-Code:
    document.addEventListener("DOMContentLoaded", function() {
        cookiebar.addModule(5, gmap<?= $this->map['id']; ?>_initialize, {
            selector: '#dlh_googlemap_<?= $this->map['id']; ?>',
            message: '<div>{{fa::map 5x pull-left border}} <p>Wir nutzen Google Maps.</p><p>Bitte aktiviere diesen Service um Karten von Google Maps anzeigen zu lassen. Weitere Infos findest du in unserer <a href="datenschutz.html#googlemaps" target="blank">Datenschutzerklärung.</a></div>', 
            button: {                      
                show: true,                
                text: 'Akzeptieren und anzeigen', 
                type: 'button',
                classes: 'btn btn-outline-dark' 
            }
        });
    });

    </script>
    Geändert von marcohe (06.06.2022 um 07:15 Uhr)
    Rechtschreibfehler sind pure Absicht und dienen der Erheiterung. Wer einen findet darf ihn gerne behalten!

  29. #29
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    339

    Standard

    https://github.com/oveleon/contao-co...ment-868362551

    Daran wirds wohl liegen.

    Wo muss ich das denn auskommentieren?
    Code:
    $GLOBALS['TL_JAVASCRIPT'][] = 'https://maps.googleapis.com/maps/api/js?key=' . $this->map['key'] . '&language=' . $this->map['language'];
    kann hier jemand weiterhelfen?
    Rechtschreibfehler sind pure Absicht und dienen der Erheiterung. Wer einen findet darf ihn gerne behalten!

  30. #30
    Contao-Nutzer
    Registriert seit
    24.02.2021.
    Beiträge
    26
    Partner-ID
    11715

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    https://github.com/oveleon/contao-co...ment-868362551

    Daran wirds wohl liegen.

    Wo muss ich das denn auskommentieren?
    Code:
    $GLOBALS['TL_JAVASCRIPT'][] = 'https://maps.googleapis.com/maps/api/js?key=' . $this->map['key'] . '&language=' . $this->map['language'];
    kann hier jemand weiterhelfen?
    Im Template des Moduls/ des Content Elements, welches du schon bearbeitet hast:
    https://github.com/delahaye/dlh_goog...fault.html5#L3
    https://github.com/delahaye/dlh_goog...fault.html5#L3

    Überprüfe auch, welches Template du ausgewählt hast:

    • ce_dlh_googlemaps_default.html5 (Content Element)
    • mod_dlh_googlemaps_default.html5 (Modul)

  31. #31
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    339

    Standard

    Die Zeile gibts bei meinem ce template nicht.
    Habe das jetzt nicht updatesicher direkt in vendor/…/ContentMap.php auskommentiert.
    Rechtschreibfehler sind pure Absicht und dienen der Erheiterung. Wer einen findet darf ihn gerne behalten!

  32. #32
    Contao-Nutzer
    Registriert seit
    24.02.2021.
    Beiträge
    26
    Partner-ID
    11715

    Standard

    Darf ich fragen um welche der dlh Erweiterungen es sich handelt und welche Version du installiert hast?

  33. #33
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    339

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Darf ich fragen um welche der dlh Erweiterungen es sich handelt und welche Version du installiert hast?
    heimrichhannot/dlh_googlemaps
    Google maps module for Contao
    Version 2.3.8
    Rechtschreibfehler sind pure Absicht und dienen der Erheiterung. Wer einen findet darf ihn gerne behalten!

  34. #34
    Contao-Nutzer
    Registriert seit
    24.02.2021.
    Beiträge
    26
    Partner-ID
    11715

    Standard

    Da nutzt du einen Fork von HeimrichHannot, die Stelle wurde hier auch für eigene Zwecke angepasst.

    Gibt ja noch die Original-Erweiterung:
    https://github.com/delahaye/dlh_googlemaps

    Wie der Support bei beiden Erweiterungen ist, kann ich aber nicht sagen.

    Prinzipiell führt eine Änderung im vendor-Ordner dazu, dass es in Zukunft bei einem Update zu Problemen führen könnte.
    Ist mir auch schon mehrmals passiert, dass der Contao-Manager die Änderung erkennt und somit kein Update mehr zulässt. Da darf dann der ganze vendor-Ordner wieder gelöscht werden.

  35. #35
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    339

    Standard

    Eine elegantere Lösung wär mir auch lieber. Meinst du bei Update einer beliebigen Erweiterung über den Manager oder nur wenn es für genau die Erweiterung ein Update gubt?
    Rechtschreibfehler sind pure Absicht und dienen der Erheiterung. Wer einen findet darf ihn gerne behalten!

  36. #36
    Contao-Nutzer
    Registriert seit
    24.02.2021.
    Beiträge
    26
    Partner-ID
    11715

    Standard

    Bin mir da gerade unsicher, glaube, dass es sich bei mir um eine Erweiterung gehandelt hatte, welche ich im vendor angepasst hatte.
    Ein Composer dry run ist ja auch über den ContaoManager möglich, damit könntest du es ja testen.

  37. #37
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    339

    Standard

    Zitat Zitat von zoglo Beitrag anzeigen
    Ein Composer dry run ist ja auch über den ContaoManager möglich, damit könntest du es ja testen.
    Testlauf mit allen Paketen war erfolgreich. Denke kann man als "quick und very dirty" Lösung so lassen. Sicherhaltshalber immer schön Backup vor jedem Update und gut ist
    Rechtschreibfehler sind pure Absicht und dienen der Erheiterung. Wer einen findet darf ihn gerne behalten!

  38. #38
    Contao-Fan Avatar von herr rilke
    Registriert seit
    29.01.2011.
    Ort
    Münster
    Beiträge
    288

    Standard numero2/contao-storelocator & iframe & google maps

    hallo,

    ich versuche mal, hier anzuschließen:

    ich möchte standorte mit dem contao-storelocator verwalten.
    mein problem liegt darin, dass keine meldung angezeigt wird, in der dazu aufgefordert wird, das cookie zuzulassen.

    die karte wird per iframe im template generiert:


    template mod_storelocator_details.html5

    PHP-Code:
        <div class="store-header">

               <?php if( !empty($this->mapsURI) ): ?>

                    <div class="iframe-responsive" id="store-iframe-wrapper"> 

                        <iframe id="store-iframe"  src=""></iframe>

                        <script>
                            
                            let store_map = function(){
                                document.querySelector('#store-iframe').setAttribute('src', '<?=$this->mapsURI;?>');
                            }

                            // aufrufen: store_map();
                           

                        </script>
                    </div>
                <?php endif; ?>
          ...
    ich habe dazu im BE in den cookiebar-einstellungen einen neuen eintrag vom typ "Benutzerdefiniert (Skript)" angelegt, der die ID 5 hat.

    per JS verwende ich dann diese ID mit addModule

    Code:
    <script>
    document.addEventListener('DOMContentLoaded', function () {
        cookiebar.addModule(5, store_map, {
            selector: '#store-iframe',
            message: 'Wenn Sie möchten, können Sie sich hier eine Google-Maps Karte mit den Standorten anzeigen lassen',
            button: {
                show: true,
                text: 'Ja, bitte!',
            },
        });
    }); 
    </script>
    zwar wird bei fehlender zustimmung das laden blockiert (& die karte geladen, wenn sie vorliegt), aber die definierte message wird nicht angezeigt, es wird kein div injiziert (<div data-ccb-id="4" class="cc-module">)

    was mache ich da falsch?

  39. #39
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    130
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die Cookiebar verwendet, um die `message` einzufügen `selector.innerHTML`. Ich bin mir gerade unsicher, ob das für iFrames in dieser Form funktioniert. Könntest du mal Testen den Text in das Parent-Element zu schreiben?

    Code:
    document.addEventListener('DOMContentLoaded', function () {
        cookiebar.addModule(5, store_map, {
            selector: '#store-iframe-wrapper',
            message: 'Wenn Sie möchten, können Sie sich hier eine Google-Maps Karte mit den Standorten anzeigen lassen',
            button: {
                show: true,
                text: 'Ja, bitte!',
            },
        });
    });

  40. #40
    Contao-Fan Avatar von herr rilke
    Registriert seit
    29.01.2011.
    Ort
    Münster
    Beiträge
    288

    Standard

    hallo doi,

    vielen dank für deine antwort!

    an das parent element hatte ich auch schon gedacht. leider funktioniert das auch nicht. es gibt keine aussage.

    ich habe das ganze nun mit

    Code:
    contao_cookiebar:
      iframe_types:
        googlemaps: 
          - mod_storelocator_details
    gelöst (die ganze lösung hab ich hier zusammengefasst).

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
  •