Ankündigung

Einklappen
Keine Ankündigung bisher.

Ein Icon verlinken nach extern mit _blank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ein Icon verlinken nach extern mit _blank

    Ich brauche mal kurz Hilfe, denn ich stehe auf dem Schlauch. Aber sowas von ... Es geht um ein Contao 3.5.12. mit dem OneEight Theme.

    Auf einer Nachrichtenseite möchte ich andere Social Kanäle als auf der Hauptseite mit Icons verlinken, eben welche, die zur jeweiligen Nachricht passen. Sprich Nachrichtentext und drunter vier Icons: YouTube, Facebook, Twitter, Google+. Klick auf diese sollte zur jeweiligen Kanalseite führen, einen Begleittext dazu fände ich gut, also Linktext oder eben der Text nicht verlinkt, aber das Icon, damit die Leute sehen, was mein Link macht. Da es sich um Links aus der Seite heraus handelt, möchte ich die definitiv in einem neuen Fenster öffnen. Nun habe ich vieles probiert, aber erfolgreich war ich nicht:

    Iconboxen: Haben gut gestaltet die Icons, weil auch nicht ganz so klein, aber ich kann da bei der Linkadresse nur den Link rein setzen und keinen _blank Befehl - oder doch? Und dann bekomme ich bei den Iconboxen nur den Text verlinkt und nicht das Icon an sich. Letzteres ist jetzt nicht so schlimm, das wäre für mich nur noch weitere Optimieren. Dass ich den _blank nicht setzen kann, stört mich.

    Hyperlink extended: Gibt bisserl was her, aber hier bekomme zum einen die Icons nicht groß, zum anderen erscheint der Linktext nicht ... brauche ich da vielleicht eine css-Klasse, die mir nicht bekannt ist?

    Text habe ich probiert: Hinzugefügte Icons erscheinen gar nicht ... brauche ich da vielleicht eine css-Klasse, die mir nicht bekannt ist?

    Gibt es eine andere Lösung?

    Am hübschesten fände ich die Iconboxen, wenn ich es schaffen würde, denen zu erklären, dass sie in diesem Fall bitte _blank öffnen sollen.

  • #2
    _blank kann im Template hardcodiert ergänzt werden oder man ergänzt sich für das Iconbox Inhaltselement unter Meine Inhaltselemente > Iconboxes... die Option im Hyperlink-Feld "Im neuen Fenster öffnen".
    customelement_layout_iconbox.html5

    Code:
    <div data-animate="<?php echo $this->field('animation')->value(); ?>" class="<?php echo $this->class; ?> block <?php echo $this->field('darstellung')->value(); ?> <?php if($this->field('animation')->value()!=='keine'): ?> animate<?php endif; ?>" <?php echo $this->cssID; ?>>
      <a href="<?php echo $this->field('link')->value(); ?>" <?php if($this->field('link')->option('target')): ?>target="_blank"<?php endif; ?>><?php echo $this->field('linktext')->value(); ?>
      <?php if($this->field('icon')->value()): ?><i class="<?php echo $this->field('icon')->value(); ?>"></i><?php endif; ?>
      </a>
      <div class="iconbox_content">
      <h4><span><?php echo $this->field('ueberschrift')->value(); ?></span></h4>
      <?php echo $this->field('text')->value(); ?>
      <?php if($this->field('link')->value()): ?><p><a href="<?php echo $this->field('link')->value(); ?>" <?php if($this->field('link')->option('target')): ?>target="_blank"<?php endif; ?>><?php echo $this->field('linktext')->value(); ?></a></p><?php endif; ?>
      </div>
      </div>
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Danke! Ich versuche mich mal dran.

      Kommentar


      • #4
        Hm, jetzt wollte ich grade sagen, kaum schreibt der Tim, wie man es macht, ist es total einfach, aber ...

        ... so, wie ich es verstanden habe, macht der php-Schnipsel in die customelement_layout_iconbox.html5 eingetragen ab dann eben alle Iconbox-Links _blank auf. Das wäre aktuell kein Thema, aber wer weiß, wofür ich die später mal noch nutzen möchte.

        ... also habe ich mich für die zweite genannte Lösung entschieden und das Inhaltselement konfiguriert und tatsächlich habe ich jetzt die Checkbox "in neuem Fenster öffnen" und das auch gesetzt. Neu geladen unter Umgehen des Cache. Cache leeren, auch im Backend, ... kein Erfolg. Es steht zwar der Haken in der Checkbox, aber geöffnet wird weiterhin auch im selben Fenster. Auch in Browsern, die die Seite noch niemals gesehen haben und bei denen ich ohne anderes aus dem Cache zu werfen, diesen vollständig leeren kann. Wo könnte es jetzt noch haken?

        Kommentar


        • #5
          Der Schnippsel ist die Umsetz von Variante 2. Es wird im Hyperlink-Attribut die Option "Neues Fenster öffnen" benötigt. Dann kann je Iconbox diese Option (Checkbox) neben dem Link-Feld zusätzlich gewählt werden.
          http://www.premium-contao-themes.com

          Kommentar


          • #6
            Uuups, verstehe. Schnell eingebaut, d.h. ich hab den kompletten Inhalt des Templates ersetzt.

            Aber jetzt wird mein Linktext doppelt angezeigt. Hab jetzt keuz und quer ausprobiert. Im Inhaltselement gibt es bei "Link" ein Linktext zum aktivieren. Wenn ich das hernehmen und im Inhaltselement das Element "Linktext" deaktiviere, wird mir mein Linktext nicht angezeigt und Teile meines Icons sind verdeckt. Mach ich beim Element "Link" den Linktext aus und nehme das im Theme mitgelieferte extra Element "Linktext", erscheint dieser doppelt.

            Ich bin halt bzgl. php wirklich Luser (Looser), nicht mal User, aber ich seh hier auch zwei Darstellungen ...

            PHP-Code:
            <div data-animate="<?php echo $this->field('animation')->value(); ?>" class="<?php echo $this->class?> block <?php echo $this->field('darstellung')->value(); ?> <?php if($this->field('animation')->value()!=='keine'): ?> animate<?php endif; ?><?php echo $this->cssID?>> <a href="<?php echo $this->field('link')->value(); ?><?php if($this->field('link')->option('target')): ?>target="_blank"<?php endif; ?>><?php echo $this->field('linktext')->value(); ?> <?php if($this->field('icon')->value()): ?><i class="<?php echo $this->field('icon')->value(); ?>"></i><?php endif; ?> </a> <div class="iconbox_content"> <h4><span><?php echo $this->field('ueberschrift')->value(); ?></span></h4> <?php echo $this->field('text')->value(); ?> <?php if($this->field('link')->value()): ?><p><a href="<?php echo $this->field('link')->value(); ?><?php if($this->field('link')->option('target')): ?>target="_blank"<?php endif; ?>><?php echo $this->field('linktext')->value(); ?></a></p><?php endif; ?> </div> </div>
            Entsprechend nehm ich an, einmal raus klauen, hilft. Aber von wo bis wo klaue ich, dass ich nicht was anderes ankratze oder Reste stehen lasse und welche Ausgabe?

            Hab mir jetzt ein Herz gefasst und folgendes gemacht:
            Bei der oberen Darstellung einfach mal raus genommen

            PHP-Code:
            <?php echo $this->field('linktext')->value(); ?>
            So bleibt übrig:

            PHP-Code:
            <div data-animate="<?php echo $this->field('animation')->value(); ?>" class="<?php echo $this->class?> block <?php echo $this->field('darstellung')->value(); ?> <?php if($this->field('animation')->value()!=='keine'): ?> animate<?php endif; ?><?php echo $this->cssID?>>
              <a href="<?php echo $this->field('link')->value(); ?><?php if($this->field('link')->option('target')): ?>target="_blank"<?php endif; ?>>
              <?php if($this->field('icon')->value()): ?><i class="<?php echo $this->field('icon')->value(); ?>"></i><?php endif; ?>
              </a>
              <div class="iconbox_content">
              <h4><span><?php echo $this->field('ueberschrift')->value(); ?></span></h4>
              <?php echo $this->field('text')->value(); ?>
              <?php if($this->field('link')->value()): ?><p><a href="<?php echo $this->field('link')->value(); ?><?php if($this->field('link')->option('target')): ?>target="_blank"<?php endif; ?>><?php echo $this->field('linktext')->value(); ?></a></p><?php endif; ?>
              </div>
              </div>
            Und so klappt's! Vielen, vielen Dank!

            Kommentar

            Lädt...
            X