Hallo zusammen,
ein Kunde hat mich gefragt, ob es nicht möglich sei, innerhalb von News alle Begriffe automatisch zu verlinken, die mit einem verwendeten Tag übereinstimmen. Um das zu erreichen, habe ich mit Andreas Schrempps autolink angeschaut und geringfügig modifiziert, so dass dort jetzt statt des eigentlichen Suchbegriffs die vorhandenen Tags benutzt und verlinkt werden. Der Link leitet dann weiter auf root/berichte-schlagworte/tag/Infineon.html.
Das klappt für den Moment eigentlich ganz gut und es ist auch Klasse, über die autolink-Erweiterung noch vielerlei weitere Angaben zu machen, um das Ersetzen einzugrenzen etc. Manko aber ist wohl die Performance, da die Ersetzung immer bei der Ausgabe gemacht wird und der Text also unter Berücksichtigung aller vorhandenen Tags durchlaufen wird.
Hat sich schon mal jemand mit etwas Ähnlichem beschäftigt?
Das Durchlaufen beim Aufruf der Seite hat nun mal den Vorteil, dass alle aktuellen Tags berücksichtigt werden.
Bin trotzdem derzeit am Überlegen, wie ich das evtl. anders gestalte:
a) Beim Speichern eines Beitrags im Backend wird via save_callback die tl_tag durchlaufen und mit dem Text abgeglichen, um die Links bereits jetzt festzulegen.
Vorteil: einmalig, kein dauerhaftes Performanceproblem
Nachteil: es werden nur die tags vom Zeitpunkt der Erstellung berücksichtigt
b) Via Cronjob einmal täglich einen Durchlauf starten, der alle Beiträge durchgeht, mit den Tags abgleicht und im Text die entsprechend gefundenen Schlagworte verlinkt.
Vorteil: einmal am Tag, kein Ersetzen bei jedem Seitenaufruf, möglichst aktuelle Tags
Welche der beiden Varianten erscheint denn am sinnvollsten? Ich tendiere zu b). Würde dann mal versuchen, dass in eine eigenständige Erweiterung, basierend auf autolink und tags, zu gießen, wenn ich mir über den optimalen Weg klarer bin.
Anregungen, Fragen, Kritik sind herzlich willkommen.
Viele Grüße,
Christian
Lesezeichen