ticker - RSS Feed(s) anzeigen

Erstellt am 07.03.2022 Lesedauer 2 - 3 Min.

Mit dem Ticker können externe Feeds auf der eigenen Seite eingebunden werden.

Das klappt trotz der Sperren in der .htaccess-Datei, weil die Daten von Feeds lokal in eine HTML-Datei geschrieben werden, die für die Anzeige genutzt wird.

Die Häufigkeit der Zugriffe auf den Newsfeed ist auf einmal pro halbe Stunde begrenzt. Das erledigt der PHP-Code zRssinsertrss.php, dem mit dem zRssticker.php lediglich die Parameter für den Abruf übergeben werden. Das ermöglicht den Zugriff auf mehrere Feeds (s.u.).

Querverweise

Mehrstufiger Seitenaufruf

Die Einbettung der Feeds erfolgt erst, wenn die lokale Seite vollständig geladen wurde. Am Ende läuft der Seitenaufbau über ein vom Modul an das Layout übergebene Javascript, das die Seite neu lädt, sobald die Daten der Ticker verfügbar sind.

Im ersten Durchgang wird ein „Platzhalter-Text“ in der Seite eingefügt, der im Modul definiert werden kann. Dieser Platzhalter gibt einen Hinweis aus, dass externe Daten geladen werden - was dauern kann, aber kein Grund zum Warten mit den eigenen Seiteninhalten ist.

In der zRssticker.php der Webseite (Verzeichnis res) werden die Pfade zu dem oder den Feeds, sowie verwendete Formatvorlagen festgelegt. Für jeden Newsfeed wird zRinsertrss.php (Verzeichnis res) aufgerufen, das dafür eine lokale HTML-Datei erzeugt.

Parallel wird die Seite mit dem Ticker-Aufruf fertig geladen und am Ende das eingebundene Javascript gestartet. Das erledigt das Nachladen der gefundenen Informationen, sobald diese verfügbar sind. Damit wird ein „stocken“ des Seitenaufbaus verhindert, was den Eindruck von langsamer Seite vermittelt.

Voraussetzungen

Die Beschreibung geht von der „Beispiel“-Umgebung aus. Das kann bzw. muss ggf. an die Projektanforderungen angepasst werden.

  • Im Verzeichnis res gibt es
    • das Javascript zum Nachladen der HTML-Abschnitte mit den abgeholten Feed-Inhalten (zRssdload.js)
    • die Datei zRssticker.php, die den Bereich für den oder die abgerufenen Fees formatiert, und für jeden Feed an …
    • … die Datei zRssinsertrss.php übergibt, die von der übergebenen Adresse die Daten abholt und die ersten fünf Einträge in eine HTML-Datei schreibt, deren Inhalt an zRssticker.php zurückgegeben wird.
  • Im verwendeten Layout (s. Muster) wird optional die Variable $fusszeile ausgegeben. An sie wird mit dem Modul der Link zum Javascript übergeben.
    • Die damit abgerufenen Feeds werden im Verzeichnis res gecached.
    • Die Verfallszeit des Abrufs ist auf eine halbe Stunde eingestellt.
  • Für eine »Warten…«-Animation im „Platzhalter“ muss die Klasse dreh in der Stil-Vorlage definiert sein.

Den „Platzhalter“ sehen Besucher bei „schnellen Leitungen“ bestenfalls kurz aufblitzen, bevor der dort vorgesehene Inhalt angezeigt wird. Dennoch sollte er vorhanden sein: Bei langsamen Leitungen erhalten Besucher damit einen Hinweis, dass „hier noch was kommt“.

Beispiel

[ticker /res/ticker]

Erzeugte Ausgabe

Beiträge werden gesucht…