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...