Woltlab Ads

  • Betroffene Version
    WoltLab Suite 5.4

    Grüße,

    Werbeblocker blockieren auch im WSC die entsprechenden Flächen. Ich nutze das Werbesystem anderweitig, um beispielsweise Partner (Banner + Link) einzublenden. Auch das wird entsprechend blockiert. Ist es möglich irgendwas daran zu ändern, dass ich die Flächen für die Werbung nutzen kann, ohne das diese ausgeblendet werden weil eben kein echter Werbecode vorhanden ist?

    Ich mag das System, nutzen es aber wie gesagt nicht als Werbeflächen wie Adsense etc - Nur Text oder Grafiken mit Verlinkungen.

    LG

  • Werbeblocker blockieren auch im WSC die entsprechenden Flächen.

    Was meiner Meinung nach auch gut so ist!

    Wenn schon Werbung und das von dir genannte Beispiel ist für mich eindeutig Werbung, dann möchte ich aber wenigstens die Option haben, diese mittels eines Werbeblockers ausblenden zu können.

    Gruß Markus

    WoltLab Suite 5.5.20

  • Wenn schon Werbung und das von dir genannte Beispiel ist für mich eindeutig Werbung, dann möchte ich aber wenigstens die Option haben, diese mittels eines Werbeblockers ausblenden zu können.

    Es geht darum, die Flächen des Werbesystems OHNE Werbung zu nutzen. Texte, Zitate etc... Was ist denn daran so schwer zu verstehen?

  • Für die Vollständigkeit noch hier die Antwort:
    https://wbbsupport.de/forum/thread/1…D=4579#post4579

    In diesem Fall ist es so, dass die CSS-Klase per manuellem Eingriff in den Quellcode (also via FTP) geändert werden muss.

    Zuständig ist im WSC-Verzeichnis die Datei /lib/system/ad/AdHandler.class.php

    In Zeile 77 findest du:

    PHP: AdHandler.class.php
    return '<div class="wcfAdLocation' . ($this->objectTypes[$adLocation]->cssclassname ? (' ' . $this->objectTypes[$adLocation]->cssclassname) : '') . '">' . $output . '</div>';

    Hier änderst du einfach die CSS-Klasse vom bisherigen wcfAdLocation in etwas beliebiges eigenes ab - und fertig bist du auch schon. Das ist die Klasse, die von den AdBlocker-Plugins im Browser erkannt und herausgefiltert werden.

  • Bestünde nicht die Möglichkeit, die Klasse mittels JS zu randomizen und sich somit die manuelle Änderung in der AdHandler.class.php zu ersparen?

    Geht bestimmt ja, aber so oder so... viele Adblocker blocken dir das dennoch.

    Projekte:

    XIVDATA - Eorzea Database

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Falls jemand an einer Javascript Lösung interessiert ist:

    • Offizieller Beitrag

    Etwas kompakter und ohne die Verseuchung des globalen Namespace ;)

    Ich habe mich für den Regex entschieden, weil es weniger obskur ist.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Damit funktioniert aber das CSS für .wcfAdLocation nicht mehr.

    Dafür kann man das Javascript manipulieren in dem man mindestens ein festen Namen vergibt wie z.B

    Dafür habe ich randomClassName = Math.random().toString(36).substring(2, 15); abgeändert auf

    randomClassName = "festername-" + Math.random().toString(36).substring(2, 15);

    Ansprechen kann man das dann so:

    CSS
    [class^="festername-"] {
        text-align: center;
        margin: 30px 0;
        overflow: hidden;
    }

    Vielleicht hilft das jemanden.

    Edit: Durch das Javascript fehlt die Anweisung .wcfAdLocationLogo ich schätze mal das diese individuell je nach Darstellung. Kann man das im Script berücksichtigen Alexander Ebert ?
    Wenn ich das daraus mache randomClassName = "festername-" + Math.random().toString(36).substring(2, 15) + " wcfAdLocationLogo";, dann erfüllt das natürlich auch nicht mehr den Zweck.

    Edit 2:
    Ich habe mir das nun so verändert, dass zuvor die Klassen gespeichert werden. Am Ende wird das "leider" zusätzliche wcfAdLocation wieder entfernt. So bleibt wcfAdLocationLogo (in dem Fall) erhalten.

    mfg

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!