Ergebnis 1 bis 10 von 10

Thema: Verlinkungen innerhalb eine PHP Zeile

  1. #1
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    368

    Standard Verlinkungen innerhalb eine PHP Zeile

    Hi, ich habe eine kleine Datenbank in denen die Felder Email und Web eingetragen werden. Mittels diesen beiden Codezeilen werden diese im FE angezeigt;

    <?php if($this->field('email')->value()): ?>
    <div class="email"><i class="fa fa-envelope-o"></i> <?php echo $this->field('email')->value(); ?></div>
    <?php endif; ?>
    <?php if($this->field('webseite')->value()): ?>
    <div class="web"><i class="fa fa-external-link"></i> <?php echo $this->field('webseite')->value(); ?></div>
    <?php endif; ?>

    Jetzt möchte ich gerne, dass beide Felder verlinkt sind, sprich

    1) Beim Email soll sich ein Mailprogramm mit der Mailadresse öffnen
    2) Beim Web soll sich ein neues Fenster mit der Domain öffnen

    Ich habe leider Null ahnung (leider hab ich in Google auch nix gefunden) wie man das anstellt.

    Kann mir jmd nen Tipp geben? Wäre Euch sehr dankbar ;.)

  2. #2
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Suche mal in Google nach "html links". Erstaunlich das Du bei dem Vorwissen schon mit Datenbanken hantierst. ????????

    Gesendet von meinem L52 mit Tapatalk
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  3. #3
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    368

    Standard

    OK -- falsch ausgedrückt --- ich kenne schon html links -- mir geht es darum, wie man diese innerhalb dieser php zeilen schreibt, bzw reinbekommt. Mit PHP kenn ich mich gar nicht aus .. ist eher cut & paste :-/

  4. #4
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Zitat Zitat von macbee Beitrag anzeigen
    OK -- falsch ausgedrückt --- ich kenne schon html links -- mir geht es darum, wie man diese innerhalb dieser php zeilen schreibt, bzw reinbekommt. Mit PHP kenn ich mich gar nicht aus .. ist eher cut & paste :-/
    Die bekommst du genauso in PHP wie auch in HTML rein. Der einzige Unterschied ist, dass PHP die Variablen in Inhalte "übersetzt", mal so ganz stupide formuliert.
    Aus
    PHP-Code:
    <div class="web"><i class="fa fa-external-link"></i> <?php echo $this->field('webseite')->value(); ?></div>
    wird also
    PHP-Code:
    <div class="web"><class="fa fa-external-link"></iwebseite_uri</div
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

  5. #5
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    368

    Standard

    ah ok... dann müsste aus

    PHP-Code:
    <div class="web"><i class="fa fa-external-link"></i> <?php echo $this->field('webseite')->value(); ?></div>
    dann

    PHP-Code:
    <div*class="web"><i*class="fa*fa-external-link"></i>*<a href="http://testseite.com" target="_blank"> <?php*echo*$this->field('webseite')->value();*?></a></div>
    was aber nen error ausspuckt -- und zudem wird da ja nicht die website des jeweiligen Datensatzes angezogen, sondern irgendeine fixe? Oder?

    Es tut mir echt leid, wenn ich mich so anstelle...:-(

  6. #6
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Wenn du HTML kannst wirst du doch sehen dass das Schrottcode ist, oder was sollen die ganzen * in dem Code?

    PHP übersetzt (wandelt) deine Variable in deren Inhalt um. Das kanst du also wie eine Art Platzhalter ansehen. Wenn also $this->field('webseite')->value() dem Inhalt http ://testseite.com entspricht, dann wird mittels <?php echo $this->field('webseite')->value();?> entsprechend dem echo-Befehl eben http ://testseite.com ausgegeben.

    Du musst also deinen Code ganz normal wir bei HTML schreiben. Wenn dein Code mit Link so ausschauen soll
    HTML-Code:
    <div class="web">
        <i class="fa fa-external-link"></i>
        <a href="http://testseite.com" target="_blank">Link zur Website</a>
    </div>
    dann musst du eben dein href-Attibut (http ://testseite.com) gegen dein PHP-Platzhalter austauschen.
    PHP-Code:
    <div class="web">
        <i class="fa fa-external-link"></i>
        <a href="<?php echo $this->field('webseite')->value();?>" target="_blank">Link zur Website</a>
    </div>
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

  7. #7
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    368

    Standard

    Sorry.. die sternchen sind beim rüberkopieren da reingerutscht, sind im eigentlich Code nicht drin.

    PHP-Code:
    <div class="web">
        <i class="fa fa-external-link"></i>
        <a href="<?php echo $this->field('webseite')->value();?>" target="_blank">Link zur Website</a>
    </div>
    Soweit so gut ... nun ergibt sich folgende Herausforderung:

    gehen wir von aus, die Domain auf dem das System läuft heißt: www.testseite.de

    gehen wir weiter davon aus, dass der Wert von "field('webseite') wie folgt ist: www.verlinkt.de

    Dann erhalte ich durch obigen code folgendes:

    Ein Text der "Link zur Website" heißt und auf folgende Seite verlinkt : www.testseite.de/www.verlinkt.de


  8. #8
    Contao-Nutzer Avatar von miniA4kuser
    Registriert seit
    14.11.2013.
    Beiträge
    130

    Standard

    Das kann eigentlich nicht sein, wenn du das href-Attribut korrekt setzt.

    Die Frage ist:
    1 - Was für eine PHP-Datei ist das denn?
    2 - Wo bzw. wie wird diese PHP-Datei eingebunden?
    3 - Ist das eine eigenständige PHP-Datei, oder ein Teil eines Moduls oder gar eine Template-Datei?
    4 - Oder wie bzw. wo fügst du diesen HTML/PHP Code ein?
    Tippfehler unterliegen nicht dem Copyright und können frei weitergegeben werden.

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

    Standard

    Dann ist in dem Feld "field('webseite') das "http://" nicht mit dabei, in dem Falle "denkt" der Browser, das wird dann wohl ein relativer Link sein und baut das so zusammen.
    Also entweder muss das "http://" da mit rein oder aber du schreibst es im Template an der passenden Stelle mit rein, also direkt vor der PHP Anweisung.
    PHP-Code:
    <a href="http://<?php echo $this->field('webseite')->value();?>" target="_blank">Link zur Website</a>
    Dann muss aber sichergestellt sein, dass niemals in "field('webseite') plötzlich doch mal ein "http:// mit dabei ist.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  10. #10
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    368

    Standard DANKE

    Danke an alle

    und danke BugBuster -- das wars.

    Und hiermit steht dann da auch die richtige Webadresse statt ein Text...

    So langsam verstehe ich die Logik.

    PHP-Code:
    <a href="<?php echo $this->field('webseite')->value();?>" target="_blank"><?php echo $this->field('webseite')->value();?></a>
    Wieder was gelernt danke dieses tollen Forums !!!!

    Und gleich auch mein Emailfeld verlinkt... :-)))

    PHP-Code:
    <div class="single-mail"><a href="mailto:<?php echo $this->field('email')->value(); ?>?subject=Anfrage über www.domain.at"><i class="fa fa-envelope-o"></i> <?php echo $this->field('email')->value(); ?></a></div>
    Geändert von macbee (31.03.2017 um 14:54 Uhr)

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
  •