Zum Inhalt springen

Dokumentation

TYPO3-Erweiterung zur Anzeige von RSS-/Atom-Feeds mit Gruppierung, Paginierung und Hintergrundaktualisierungen.

MPC-RSS Logo

Anforderungen

  • TYPO3 13.x oder 14.x
  • PHP 8.2+

Installation

 
composer require mpc/mpc-rss
 

Im Extension Manager aktivieren, dann „Wartung > Datenbankstruktur analysieren“ ausführen.

Schnellstart

  1. Fügen Sie ein Inhaltselement hinzu: Plugin > MPC RSS-Feed
  2. Klicken Sie auf „Feed hinzufügen“ und geben Sie eine oder mehrere RSS-/Atom-URLs ein
  3. Wählen Sie einen Gruppierungsmodus und speichern Sie

Feeds werden als Inline-Datensätze direkt im Inhaltselement gespeichert – es ist keine Speicherseite erforderlich.

Hintergrundaktualisierungen

Feeds werden pro URL zwischengespeichert. Um sie aktuell zu halten, ohne dass Besucher warten müssen:

Scheduler (empfohlen): System > Scheduler > Add Task > "Update RSS Feeds" – Stellen Sie die Häufigkeit z. B. auf alle 30 Minuten ein.

CLI:

 
vendor/bin/typo3 mpcrss:updatefeeds
vendor/bin/typo3 mpcrss:updatefeeds --clear-cache --cache-lifetime=3600
 

Siehe „Automatische Feed-Aktualisierungen“ für Details und Fehlerbehebung.

Architektur

 
Request
  └─ FeedController::listAction()
       ├─ FeedRepository → inline feed records from tt_content
       └─ FeedService::fetchGroupedByCategory()
            ├─ fetchFeedItems()       per-URL HTTP fetch + XML parse + cache
            ├─ deduplicateItems()     link-based dedup across feeds
            ├─ groupItems()           category / source / date / none
            └─ sortAndSliceGroups()   date-desc sort + maxItems limit
 

Wichtige Designentscheidungen:

  • Spezieller CType (mpcrss_feed) über PLUGIN_TYPE_CONTENT_ELEMENT, nicht list_type
  • IRRE-Inline-Datensätze – Feeds gehören zum Inhaltselement, nicht zu einer Speicherseite
  • Isolierter Cache (mpc_rss) – das Leeren des Seiten-Caches hat keine Auswirkungen auf die Feed-Daten
  • Externe Inhalte werden auf der Caching-Ebene bereinigt (Tags, Attribute, URL-Schemas)
  • Die Service-Ebene ist sprachneutral; der Controller übersetzt generierte Gruppenbezeichnungen über XLF
  • warmCache() Überspringt Gruppierung/Sortierung – effizient für CLI und Scheduler

Dokumentation

Lizenz

GPL-2.0-oder-später

Seite teilen