HTML-EMAIL: Klickbare Links

  • Affected Version
    WoltLab Suite 5.2

    Hallo,

    Ich habe im ACP bei den Email-Einstellungen in der Signatur ein paar Links drin.

    Jedoch werden die in der HTML-Email nicht klickbar dargestellt sondern als Text.

    Wie kann ich dies klickbar machen, denke im Email-template, aber wie?

    Danke.

    ┌П┐(◉_◉)┌П┐

  • Go to Best Answer
  • Die Einstellung wird doch im ACP in die Signatur eingebunden und im Email-Template per {@MAIL_SIGNATURE|language|newlineToBreak} ausgelesen.

    Wenn ich im ACP den link mit <a> verlinke wird ins plain-text-mails falsch dargestellt, daher gehe ich davon aus das an MAIL_SIGNATUR ein weiterer |-Parameter angehängt werden muss dass links richtig dargestellt werden?

    Wie es zB bei Smarty der Fall ist, vielleicht ist das hier auch möglich, so wirds in plain normal dargestellt und in html-emails auch:

    Smarty
    {$variable|regex_replace:"/\b((https?):\/\/([-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]*))\b/i":"<a href='$1' target='_blank'>$3</a>"}

    Oder eventuell irgendwas mit {link}{/link}?

    ┌П┐(◉_◉)┌П┐

    Edited 2 times, last by TeRRible__KHONS (April 1, 2020 at 7:59 AM).

  • Schreib die links doch einfach direkt ins Template?

    Das ist nicht passend für mein Verwendungszweck da die links ständig ändern und im footerbereich der Mail-Signatur bestens aufgehoben sind.

    Bin mir sicher es gibt ne einfache Lösung hierfür muss man nur wissen wie :D

    ┌П┐(◉_◉)┌П┐

  • Wieso alles bearbeiten wenn es ein ACP gibt wo man das einfügen kann?!

    Desweieteren was mit den Clienten die kein HTML sondern Plain-Text nutzen, die bekommen die Links dann gar nichts mit weil das ganze nur im HTML-Template sitzt?!

    Wenn die Links im ACP in der Signatur sind, werden die im Plain-Text als auch in der HTML Mail angezeigt, eben nur in der HTML-Mail nicht klickbar sind.

    Daher muss es doch ne möglichkeit geben wie oben erwähnt (die Smarty-Synthax), diesen Link klickbar zu machen (im HTML-Template). Mehr ist es nicht.

    ┌П┐(◉_◉)┌П┐

  • Wieso alles bearbeiten wenn es ein ACP gibt wo man das einfügen kann?!

    Weil du es dort bei der Signatur ja scheinbar nicht einfach einfügen kannst. Sofern es dafür kein Plugin gibt, wirst du vermutlich an den Templates nicht vorbei kommen. Und die bearbeitest du übrigens auch im ACP. Also du würdest es weiterhin im ACP einfügen. Nur halt im Template, anstatt im Eingabefeld für die Signatur.

    Desweieteren was mit den Clienten die kein HTML sondern Plain-Text nutzen, die bekommen die Links dann gar nichts mit weil das ganze nur im HTML-Template sitzt?!

    Dann baust du die Links halt auch noch im plaintext Template ein, wie Quatschecke schon schrieb. Oder du benutzt für plain text ganz normal die Signatur und im email_html Template entfernst du die Signatur und fügst stattdessen die Links & Co als HTML ein.

    Was es nicht einfacher macht sondern noch mehr Arbeit wenn beide geändert werden müssen... :D

    Entweder willst du es umsetzen oder nicht. Das musst du halt selbst entscheiden.

  • Nabend,

    Danke geht an Alexander Ebert , bin jetzt schon einen weiten Schritt weiter:

    EIN GROßES PROBLEM gibt es dennoch |newLineToBreak macht hier Probleme weil es direkt hinter die URL ohne Leerzeichen platziert wird und somit die ganzen Links bricht und den Code durcheinander bringt. Weiß hier vielleicht jemand Rat bzw ne Lösung?

    EDIT: Ich könnte hinter jede Zeile wo eine URL ist im ACP ein Leerzeichen setzen dann funktionierts aber gibs bestimmt auch einen Eleganteren Weg :)

    Smarty
    {capture assign='__signature'}{@MAIL_SIGNATURE|language|newlineToBreak}{/capture}
    {@'~\b(https?://\S+)\b~'|preg_replace:'<a href="$1">$1</a>':$__signature}

    ┌П┐(◉_◉)┌П┐

    Edited 3 times, last by TeRRible__KHONS (April 1, 2020 at 10:32 PM).

    • Best Answer
    • Official Post
    Smarty
    {capture assign='__signature'}{@MAIL_SIGNATURE|language|newlineToBreak}{/capture}
    {@'~\b(https?://[^\s<]+)\b~'|preg_replace:'<a href="$1">$1</a>':$__signature}

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Smarty
    {capture assign='__signature'}{@MAIL_SIGNATURE|language|newlineToBreak}{/capture}
    {@'~\b(https?://[^\s<]+)\b~'|preg_replace:'<a href="$1">$1</a>':$__signature}

    Danke werde ich im laufe des Tages ausprobieren :)

    Gestern wurde bei dem pattern noch das letzte shlash nicht mit eingebunden?

    LRDE Ja aber einmalig danach kann ich alles übers ACP in der Signatur machen.

    EDIT: Alexander Ebert Funktioniert jetzt wie gewollt, nur eben dass das letzte / nicht mit in den Link aufgenommen wird? Dann bin ich tadellos glücklich und hab jeden hier genug genervt :D

    ┌П┐(◉_◉)┌П┐

    Edited 2 times, last by TeRRible__KHONS (April 2, 2020 at 8:54 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!