Wörter innerhalb von Beiträgen mit externen Links bzw. Tags versehen

  • Hallo zusammen,


    ich würde gerne bestimmte Wörter in Beiträgen um einen Link bzw. vorhandene Links um einen Tag erweitern. (Ähnlich wie Amazon Shortlink (Empfehlungslinks))


    Szenario A:
    User schreibt Beitrag, welcher das Wort "Amazon" enthält.

    Plugin "schreibt" nun das Wort Amazon in einen Link um bspw. -> Amazon


    Szenario B:
    User schreibt Beitrag, welcher einen Link zu Amazon enthält (https://www.amazon.de/dp/XXXXXXXXX)

    Plugin hängt an den Link eine Partner-ID an (&tag=meine-tracking-id-39237493 bzw. falls der Link bereits eine Partner-ID enthält, wird diese ggf. ersetzt.


    Kann mir jemand einen Schubs in die richtige Richtung geben?

    • Official Post

    Für beide Szenarien brauchst du einen Event-Listener auf beforeProcess@wcf\system\html\output\node\HtmlOutputNodeProcessor


    Plugin "schreibt" nun das Wort Amazon in einen Link um

    Als konzeptionelle Vorlage empfehle ich dir wcf\system\html\input\node\HtmlInputNodeTextParser, die Implementierung ist sehr stark auf Performance optimiert und ist damit auch bei der Ausgabe ausreichend effizient.


    Plugin hängt an den Link eine Partner-ID an

    Per XPath-Query die Links heraussuchen und $element->getAttribute('href') auswerten.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Du kannst dir z.b. hier ein Beispiel ansehen wie dies über den Highlighter funktioniert

    WCF/HtmlOutputNodeProcessor.class.php at 33420e94314be013a48d6fecb1a8a38c1635e6d1 · WoltLab/WCF
    WoltLab Suite Core (previously WoltLab Community Framework) - WCF/HtmlOutputNodeProcessor.class.php at 33420e94314be013a48d6fecb1a8a38c1635e6d1 · WoltLab/WCF
    github.com

    Ist natürlich nicht genau das, aber so ähnlich :)


    Zu dem, brauchst du ein EventListener hier

    WCF/HtmlOutputNodeProcessor.class.php at 33420e94314be013a48d6fecb1a8a38c1635e6d1 · WoltLab/WCF
    WoltLab Suite Core (previously WoltLab Community Framework) - WCF/HtmlOutputNodeProcessor.class.php at 33420e94314be013a48d6fecb1a8a38c1635e6d1 · WoltLab/WCF
    github.com

  • Szenario A:

    User schreibt Beitrag, welcher das Wort "Amazon" enthält.

    Plugin "schreibt" nun das Wort Amazon in einen Link um bspw. -> Amazon

    Mit dem gleichen Thema hatte ich mich auch mal kurz beschäftigt, aber nie bis zum Ende weiterverfolgt. Bei meiner Suche bin ich damals über das folgende Plugin gestolpert. Primäre Funktion ist zwar die Begriffserklärung, die durch ein Hover aufpoppt, aber laut der Beschreibung kann es die Begriffe auch mit einem Link versehen. Müsste zu deinem Szenario A ja passen, oder? Ich selbst hab es aber nie ausprobiert.


  • Die Begriffserklärung läuft bei mir sehr gut. Allerdings habe ich da gerade ein kleines Problem entdeckt (und gemeldet) wenn man etwas zitieren will, das auch das Fragezeichen der Begriffserklärung enthält (wenn man zu dem Begriff eine Erklärung geschrieben hat, ist diese über ein Fragezeichen hinter dem Begriff erreichbar), tauchen die Zitatfelder unter dem Begriff nicht auf.

  • Für Szenario A ist aus meiner Sicht das vor kurzem erschienene Plugin geeignet:

    Ich vermute mal, das Cyberghost die Idee hier im Thread aufgeschnappt und kurzerhand das Plugin geschrieben hat. :)

    Sollte entsprechend funktionieren. :thumbup:

Participate now!

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