Contao-Camp 2024
Ergebnis 1 bis 5 von 5

Thema: [contao-banner-bundle] Banner-Url in eigenen Elementen oder als eigenen Link verwende

  1. #1
    Contao-Nutzer Avatar von WebMarco
    Registriert seit
    29.09.2014.
    Beiträge
    107

    Standard [contao-banner-bundle] Banner-Url in eigenen Elementen oder als eigenen Link verwende

    Liebe Community, lieber BugBuster,
    gerne möchte ich die generierte Banner-Url bbfebanner/banclicks/bid/Banner-ID auch in eigenen Elementen mit [madeyourday/contao-rocksolid-custom-elements] oder als Links im Fließtext zum Zählen von Klicks auf eine E-Mail-Adresse nutzen. Dies könnte für eine E-Mail-Adresse im Header bspw. wie folgt angelegt werden:

    HTML-Code:
    <!-- indexer::stop -->
    <ul>
      <li class="envelope"><a href="bbfebanner/banclicks/bid/Banner-ID" rel="nofollow">mail@mailadresse.tpl</a></li>
    </ul>
    <!-- indexer::continue -->
    Folgende Konfiguration habe ich für den Banner gewählt:

    • Bannerquelle: Textbanner
    • Bannername: mail@mailadresse.tpl
    • Bannerziel-Seite (Seite als externe Weiterleitung mit Link-Adresse mailto:mail@mailadresse.tpl)
    • Interner Link aktiviert


    So kann ich in jedem eigenen Element oder im Fließtext, etc. auch direkt die Url bbfebanner/banclicks/bid/Banner-ID aufrufen und es wird ein Klick gezählt. Damit die Links in der Systemwartung nit mit in den IIndex aufgenommen werden, setze ich immer indexer::stop und indexer::continue.

    Jedoch wird der Link in der Suche nach defekten Links immer als broken link deklariert und als Fehler ausgegeben. Woran liegt das? Der Fehler tritt nicht auf, wenn ich den Textbanner als Modul (Banner) mit der Bannervorlage wie folgt einbinde:

    PHP-Code:
    <!-- indexer::stop -->
    <aside class="<?php echo $this->class?> block"<?php echo $this->cssID?><?php if ($this->style): ?> style="<?php echo $this->style?>"<?php endif; ?>>
    <?php foreach ($this->banners as $banner): ?>
    <?php 
    if ($banner['banner_text']) : ?>
        <figure class="banner_wrap<?php echo $banner['banner_wrap_class']; ?>"<?php echo $banner['banner_wrap_id']; ?>>
            <div class="banner_text" id="banner_<?php echo $banner['banner_id']; ?>">
                <div class="banner_text_name"><?php if ($banner['banner_url']): ?><a href="<?= $this->route('bugbuster_banner_frontend_clicks'?>/<?php echo $banner['banner_key'].'/'.$banner['banner_id']; ?><?php echo $banner['banner_target']; ?> title="<?php echo $banner['banner_name']; ?>" ><?php endif; ?><?php echo $banner['banner_name']; ?><?php if ($banner['banner_url']): ?></a><?php endif; ?></div>
        </figure>
    <?php endif; ?>
    <?php 
    endforeach; ?>
    </aside>
    <!-- indexer::continue -->
    Hier wird die E-Mail-Adresse anhand des Bannernamens angezeigt und auf die bbfebanner/banclicks/bid/Banner-ID verlinkt. Da ich jedoch die Url auch in eigenen Elementen, bzw. überall nach eigenen Anforderungen einbinden möchte, erschien mir der Weg über die Url ganz logisch. Wie lässt sich die Anzeige als broken link vermeiden, bzw. sich die Urls aus der Suche ausschließen?

    Vielen Dank für Eure Unterstützung. Ich hoffe, dass ich mit meiner ausfürhlichen Frage auch andere Anwender der Erweiterung helfen, bzw. sogar auf eine Idee bringen könnte.

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.496
    User beschenken
    Wunschliste

    Standard

    Da fällt mir jetzt auch nichts ein außer den generierten HTML Quelltext beider Varianten zu vergleichen. Irgendwo muss da ja der entscheidende Unterschied sein.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Nutzer Avatar von WebMarco
    Registriert seit
    29.09.2014.
    Beiträge
    107

    Standard

    Lieber BugBuster,

    vielen Dank für Deine Antwort. Der augegebene Quelltext ist genau gleich. Im Template vo dir wird der Link wie folgt erzeugt:

    PHP-Code:
    href="<?= $this->route('bugbuster_banner_frontend_clicks'?>/<?php echo $banner['banner_key'].'/'.$banner['banner_id']; ?>"
    Meine Idee war, händisch den Link wie folgt darzustellen:

    HTML-Code:
    href="bbfebanner/banclicks/bid/1"
    Die 1 etspricht der ID des Banners und wird im Template durch $banner['banner_id'] erzeugt. Der Klick auf den händisch erzeugten führt auch dazu, dass dieser in der Statistik gezählt wird.

    Doch warum wird dieser Link jetzt beim Systemcheck von Contao as defekter Link gewertet? Weiter noch eine Frage, die du mir vielleicht beantworten kannst: Die Ansichten werden bei der Händischen Variante nicht mitgezählt. Wie wird das erreicht?

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.496
    User beschenken
    Wunschliste

    Standard

    Ansichten werden intern gezählt durch Aufruf des Banner Moduls. Wenn du nur den Ziel Link händisch einbaust, dann kann die Ansicht so nicht gezählt werden.
    Da fällt mir ein, ich habe noch ein Ticket offen um ein Contentelement zusätzlich anzubieten als Alternative zum Modul. Ist aber in den letzen Monaten wenig Zeit gewesen für Contao bei mir.
    Kann also noch dauern. Das könnte dann bei dir eventuell etwas vereinfachen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Nutzer Avatar von WebMarco
    Registriert seit
    29.09.2014.
    Beiträge
    107

    Standard

    Lieber BugBuster,

    ich danke dir für die schnelle Antwort. Ja, die liebe Zeit ist immer rar. Bzgl. dem Content-Element weiß ich nicht genau, ob es hilft. Meine Idee war ja, es in eigenen Elementen mit einzubinden bzw. auch direkt in der Seitenstruktur - also wenn ein Link in der Navigation angeklickt wird (wenn man in einem Service-Menü bspw. eine E-Mail-Adresse verlinkt).
    Angehängte Grafiken Angehängte Grafiken

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
  •