Cookies bei XF

Zumal ich - wenn das so sein sollte das die 2.3 so knapp vor der Tür steht, den 2.2.12 Release nicht ganz verstehe... Aber muss ich ja auch nicht.
 
Ich lehne mich mal ganz weit aus dem Fenster:
Es wird 2022 kein 2.3 Release geben, nicht einmal eine öffentliche Beta - mit Glück (aber auch das glaube ich nicht) ein HYS
 
Warum sollten die so knapp beinander 2.2.12 und 2.3 raus hauen? Wo se doch schon mit 2.2.12 ausgelastet sein sollten.
 
Darf ich Euch an dieser Stelle was in Euren Augen sicher ziemlich banales fragen?

Ich habe das Upgrade erfolgreich installiert und auch der neue Cookie-Consent-Banner sieht gut aus. Allerdings stimmt was mit den icons (Schaltflächen für ja/nein) nicht. Man kann bei genauem Hinsehen erkennen, dass ein Klick den Wechsel von 0F0131 auf 0F0135 auslöst. Ich finde nur die Stelle nicht, an der ich dem Template sagen kann, welches icon denn da nun hin soll:

Bildschirmfoto 2022-12-21 um 16.31.10.png

Unser icon-Font ist Font Awesome.

Für Hilfe wäre ich sehr dankbar.
Viele Grüße,
Sylvia
 
Zuletzt bearbeitet:
Hat sich erledigt, ich habe den Fehler in der setup_fa.less gefunden. Da wurde mit dem von uns benutzten Template offenbar ein icon eingebunden, das als Bild nicht abgespeichert war.
 
Merkwürdiges Phänomen: Nach der Umstellung der Cookie-Einwilligung auf "Erweitert/Advanced" wird mir unter Free Online EU Cookie Law Analyzer | CookieMetrix "No Banners Found" angezeigt. Und das, obwohl der Cookie-Hinweis sogar auf dem Screenshot zu sehen ist.

Hat jemand eine Idee, woran das liegen könnte?
 
Es gibt noch eine Frage, die ich hier gern stellen möchte, vielleicht kann uns ja jemand weiterhelfen.

Wir benutzen den AdsManager lite zum Einbinden unserer Werbebanner.

Um die Werbeanzeige für die Forenmitglieder, die das nicht wünschen, auszublenden, haben wir eine Abfrage in unser Template eingebaut, das bei allen Bannern in etwa so aussieht:
PHP:
<xf:if is="$xf.visitor.Profile.custom_fields.adshowingoff == false">
<div style="width: 100%; text-align: center; margin-top: 10px;">
                        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
                        <!-- Forum_Bottom_728x90 -->
                        <ins class="adsbygoogle"
                             style="display:inline-block;width:728px;height:90px"
                             data-ad-client="ca-pub-4438489270449393"
                             data-ad-slot="9312935086"></ins>
                        <script>
                        (adsbygoogle = window.adsbygoogle || []).push({});
                        </script>
    </div>
</xf:if>

Aktuell werden natürlich für alle Besucher diese Banner angezeigt und die Cookies gesetzt, die in ihrem Profil nicht "nein" gesagt haben.

Lässt sich der Code nicht auch so erweitern, dass der Status der Cookie-Abfrage berücksichtigt wird und die Werbung nur jenen angezeigt wird, die diese Cookies auch akzeptieren?
 
Bitte, das weiss doch sicherlich einer von Euch!

Ich möchte dieser Zeile hier

<xf:if is="$xf.visitor.Profile.custom_fields.adshowingoff == false">

eine weitere Zeile voranstellen, mit der sichergestellt ist, dass nur dann Werbung angezeigt wird, wenn die (Dritt-)Cookies akzeptiert worden sind, so dass erst mit einer Zustimmung die Werbung aktiv wird. Ich weiss nur nicht, wie Xenforo das "formuliert".
 
Kann Xenforo denn überhaupt selbst über die Conditionals erkennen/unterscheiden bezüglich Cookies oder gar Drittanbieter Cookies??? Ich hab so eine Cookie Conditional noch nicht gesehen, daher kann ich da nichts zu beisteuern. Wie man per PHP Cookies ausliest bzw. deren Existenz prüft könnt ich versuchen zu erklären mit mehr Zeit, aber das wird dir so erstmal nicht weiter helfen.

Hast du es schon drüben im Hersteller-Forum versucht? - Brogan wäre da dein Ansprechpartner Mrs. Conditional him self. ;)
 
Kann Xenforo denn überhaupt selbst über die Conditionals erkennen/unterscheiden bezüglich Cookies oder gar Drittanbieter Cookies???
Auch nach 3x lesen verstehe ich nur Bahnhof :)

Der XenForo Standardcode unterscheidet bei "3rd Party Cookies" nicht nach Anbietern (oder Zwecken), wohl aber ist eine Infrastruktur vorhanden welche dies (per Add-on) ermöglichen würde.

Wenn man die bestehende Standard-Funktionalität nutzen möchte geht das so:
Code:
<xf:if is="$xf.cookieConsent.isThirdPartyConsented('google_adsense')">

google_adsense ist hierbei der (selbst gewählte) 3rd Party Identifier (XenForo selbst liefert keinen Identifier für Google AdSense mit, wohl aber ab 2.2.13 welche für Google Analytics und Google ReCaptcha), siehe Fixed - 3rd party identifiers for BB Code Media sites
 
Ich habe im XF-Forum Siropu (der Programmierer des AdsManager) direkt gefragt, nachdem ich dort einen Beitrag von ihm gefunden hatte, der in diese Richtung ging.

Folgenden Code hat er mir geschickt, und er funktioniert perfekt:
PHP:
<xf:set var="$cookieConsent" value="{$xf.app.request.getCookie('consent')}" />
<xf:if is="$cookieConsent && contains($cookieConsent, '_third_party') && $xf.visitor.Profile.custom_fields.adshowingoff == false">
     <xf:css src="googleAd.css" />
     <div class="googleAd_TOPCONTAINER">                  
         <!-- Forum_Header_728x90 -->
         <ins class="adsbygoogle"
              style="display:inline-block;width:728px;height:90px;margin-top:-80px;"
              data-ad-client="ca-pub-4438489270449393"
              data-ad-slot="9312935086"></ins>
         <script>
         (adsbygoogle = window.adsbygoogle || []).push({});
         </script>
     </div>
</xf:if>

Das ist die Lösung und ich bin total happy, Danke Euch allen!

Viele Grüße,
Sylvia
 
Auch nach 3x lesen verstehe ich nur Bahnhof :)
Man kann nicht alles haben... :-D ;-) ;-)
Wenn man die bestehende Standard-Funktionalität nutzen möchte geht das so:
google_adsense ist hierbei der (selbst gewählte) 3rd Party Identifier (XenForo selbst liefert keinen Identifier für Google AdSense mit, wohl aber ab 2.2.13 welche für Google Analytics und Google ReCaptcha), siehe Fixed - 3rd party identifiers for BB Code Media sites
Und wieder was gelernt - geht das erst seit der 2.2.12 oder schon länger?
 
Folgenden Code hat er mir geschickt, und er funktioniert perfekt
Funktionieren ... Ja, perfekt ... Nein :)

Man kann das so machen, sollte man aber nicht:
Mit diesem Code greift man direkt auf das Consent-Cookie zu und umgeht das Consent-System quasi.

Wenn sich da also an der internen Implementierung etwas ändert (z.B. Format oder Name des Cookie, vielleicht werden Consent-Daten auch mal am User in der DB gespeichert -> Multi-Device Usage) oder ein Add-on genutzt wird welches granularen Consent ermöglicht (vielleicht möchte ein User ja z.B. YouTube zulassen aber kein Google AdSense - eine solche granulare Entscheidungsmöglichkeit sieht das System vor, ist aber Seitens XenForo selbst nicht implementiert) geht das schief.

Ein besserer Ansatz wäre:
PHP:
<xf:if is="$xf.cookieConsent.isThirdPartyConsented('google_adsense') && $xf.visitor.Profile.custom_fields.adshowingoff == false">
     <xf:css src="googleAd.css" />
     <div class="googleAd_TOPCONTAINER">                
         <!-- Forum_Header_728x90 -->
         <ins class="adsbygoogle"
              style="display:inline-block;width:728px;height:90px;margin-top:-80px;"
              data-ad-client="ca-pub-4438489270449393"
              data-ad-slot="9312935086"></ins>
         <script>
         (adsbygoogle = window.adsbygoogle || []).push({});
         </script>
     </div>
</xf:if>

@otto
Geht nur mit 2.2.12+

@twollert
Ich gehe einmal davon aus dass das Tool den XenForo-Layer schlicht (noch) nicht kennt und nur auf bekannte / Standard-CMP (-> TCFv2) prüft.
 
Vielen Dank @Kirby , das teste ich am Wochenende gleich aus!

Danke auch für die Erläuterung :)
 
Zuletzt bearbeitet:
Ich gehe einmal davon aus dass das Tool den XenForo-Layer schlicht (noch) nicht kennt und nur auf bekannte / Standard-CMP (-> TCFv2) prüft.
Das könnte sein. Allerdings wird interessanterweise das normale ("Simple") XenForo-Layer korrekt von dem Tool erkannt.

Ich würde es halt nur gerne schnellstmöglich als Bug melden, sofern der Grund dafür in XenForo liegt, damit es im besten Fall bereits in der nächsten Version behoben ist. :)
 
So, die Code-Variante von @Kirby ist jetzt im Live-Forum umgesetzt und tut genau das, was es soll :) Suuuuper!

Jetzt hat unser Datenschutzbeauftragter aber - da die Behörden in ein paar Tagen unsere Seite "auseinandernehmen wollen" (also Tiefenprüfung) noch ein paar offene Punkte, die ich gern bis dahin umsetzen möchte:

1. Alle Buttons dürfen nur noch eine einheitliche Farbe haben.
---> Ich gehe davon aus, dass sich die Cookie-Buttons alle aus dem XF-Standard bedienen. Wie wäre es machbar, nur diesen Buttons ein einheitliches Gesicht zu verpassen?

2. Er möchte gern, dass der Button "Optionale Cookies ablehnen" verschwindet und stattdessen einer dort steht, der den Text und die Funktionalität des bisher daneben stehenden Links "Klicke hier für weitere Informationen ..." bekommt.

Wie lässt sich das einrichten?

Bildschirmfoto 2023-01-13 um 07.05.58.png
 
Zurück
Oben