PHPackages                             erhaweb/feed-display - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. erhaweb/feed-display

ActiveTypo3-cms-extension

erhaweb/feed-display
====================

Fetches and parses RSS and Atom web feeds with the SimplePie library and prepares them for frontend display

2.2.3(1mo ago)114.3k—6%5[1 PRs](https://github.com/ErHaWeb/feed_display/pulls)GPL-2.0-or-laterPHPPHP ^8.1CI passing

Since Oct 19Pushed 1mo agoCompare

[ Source](https://github.com/ErHaWeb/feed_display)[ Packagist](https://packagist.org/packages/erhaweb/feed-display)[ RSS](/packages/erhaweb-feed-display/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (30)Versions (26)Used By (0)

Feed Display
============

[](#feed-display)

What does it do?
----------------

[](#what-does-it-do)

The aim of this extension is to provide a way to display RSS and Atom web feed data retrieved from any URL in the frontend. It is possible to configure which data is to be read from the feed for the purpose of display.

Parsing of feed data is done by the [SimplePie](https://simplepie.org/)library, which is a very fast and easy-to-use feed parser, written in PHP.

Remote `http` and `https` feeds are fetched through TYPO3's PSR-17/PSR-18 interfaces. This means instance-wide HTTP client settings such as proxy configuration are applied automatically. Local feed files and other non-HTTP sources use SimplePie's default transport.

The entire result is stored in its own cache (using the caching framework) so that the feed does not have to be parsed with each call. If something has changed in the plugin configuration (TypoScript or FlexForm), the cache is renewed immediately, otherwise only after a configurable time has elapsed.

Screenshots
-----------

[](#screenshots)

Here you can find screenshots of all application areas of this extension.

### Frontend View

[](#frontend-view)

Below you can find an example of the frontend output of the official TYPO3 news feed. Styling and structure can be customized as you like.

[![Frontend View](Documentation/Images/FrontendView.png)](Documentation/Images/FrontendView.png)

### New Content Element Wizard

[](#new-content-element-wizard)

[![New Content Element Wizard](Documentation/Images/NewContentElementWizard.png)](Documentation/Images/NewContentElementWizard.png)

### Plugin Settings

[](#plugin-settings)

Below you can find screenshots of all available plugin options. Use these options if you want to make settings on content element level. Alternatively, these can also be configured by TypoScript Constants in the constant editor.

#### General

[](#general)

[![Plugin Options: General Tab](Documentation/Images/PluginOptions-General.png)](Documentation/Images/PluginOptions-General.png)

#### Advanced

[](#advanced)

[![Plugin Options: Advanced Tab](Documentation/Images/PluginOptions-Advanced.png)](Documentation/Images/PluginOptions-Advanced.png)

#### Get Fields

[](#get-fields)

[![Plugin Options: Get Fields Tab](Documentation/Images/PluginOptions-GetFields.png)](Documentation/Images/PluginOptions-GetFields.png)

### Constant Editor

[](#constant-editor)

Below you can find screenshots of all available constants in the constant editor. Use these options if you want to make settings on a global level for all content elements.

#### Files

[](#files)

[![Plugin Options: General Tab](Documentation/Images/ConstantEditor-Files.png)](Documentation/Images/ConstantEditor-Files.png)

#### General

[](#general-1)

[![Plugin Options: General Tab](Documentation/Images/ConstantEditor-General.png)](Documentation/Images/ConstantEditor-General.png)

#### Advanced

[](#advanced-1)

[![Plugin Options: General Tab](Documentation/Images/ConstantEditor-Advanced.png)](Documentation/Images/ConstantEditor-Advanced.png)

#### Get Fields

[](#get-fields-1)

[![Plugin Options: General Tab](Documentation/Images/ConstantEditor-GetFields.png)](Documentation/Images/ConstantEditor-GetFields.png)

Read more
---------

[](#read-more)

For more information, see the documentation at [docs.typo3.org](https://docs.typo3.org/p/erhaweb/feed-display/main/en-us/).

Release automation
------------------

[](#release-automation)

Publishing to TER is automated with [`.github/workflows/publish-ter.yml`](.github/workflows/publish-ter.yml)and the official TYPO3 Tailor CLI.

### Required repository secret

[](#required-repository-secret)

Add the repository secret `TYPO3_API_TOKEN` with the scopes `extension:read,extension:write` and restrict it to `feed_display`.

### Standard release flow

[](#standard-release-flow)

1. Create the release commit and tag it as `x.y.z` without a `v` prefix.
2. Push the commit and tag to GitHub.
3. The workflow checks out the tagged commit, validates the version markers in `ext_emconf.php` and `Documentation/Settings.cfg`, generates the TER upload comment from the non-merge commit subjects since the previous release tag, and publishes the package to TER.

### Manual backfill for an existing tag

[](#manual-backfill-for-an-existing-tag)

If a tag already exists and has not been published yet, start the workflow manually from `main` and provide the tag name in the `version` input.

With the GitHub CLI this looks like:

```
gh workflow run publish-ter.yml --ref main -f version=2.2.0
```

Only one workflow run per release version is allowed at a time. Parallel runs for the same tag are serialized by the workflow `concurrency` group.

### Manual dry run for an existing tag

[](#manual-dry-run-for-an-existing-tag)

To validate packaging without contacting TER, start the same workflow manually and set `dry_run=true`. The workflow then creates the TER artefact zip, uploads it as a GitHub Actions artefact, and skips token validation and publication.

With the GitHub CLI this looks like:

```
gh workflow run publish-ter.yml --ref main -f version=2.2.0 -f dry_run=true
```

### Local dry run

[](#local-dry-run)

The helper script validates the checked out release tag and generates the TER comment locally:

```
bash Build/Scripts/prepareTerPublish.sh 2.2.0
```

To create a local TER artefact with Tailor, install the pinned version and use the packaging exclusions from `Build/Tailor/ExcludeFromPackaging.php`:

```
COMPOSER_HOME="${PWD}/.Build/.composer" composer global require typo3/tailor:1.7.0
TYPO3_EXCLUDE_FROM_PACKAGING=Build/Tailor/ExcludeFromPackaging.php \
  php .Build/.composer/vendor/bin/tailor create-artefact 2.2.0 --path=.
bash Build/Scripts/verifyTerArtefact.sh tailor-version-artefact/feed_display_2.2.0.zip
```

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance89

Actively maintained with recent releases

Popularity30

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 96.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~54 days

Recently: every ~128 days

Total

24

Last Release

54d ago

Major Versions

1.3.6 → 2.0.02024-04-07

PHP version history (2 changes)2.0.0PHP ^8.1 || ^8.2 || ^8.3

2.2.3PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/90f7562ac39506d425548394968472c7424d10ad266094463c8f25e3ab0a5bdc?d=identicon)[ErHaWeb](/maintainers/ErHaWeb)

---

Top Contributors

[![ErHaWeb](https://avatars.githubusercontent.com/u/5416710?v=4)](https://github.com/ErHaWeb "ErHaWeb (100 commits)")[![smlng](https://avatars.githubusercontent.com/u/10532675?v=4)](https://github.com/smlng "smlng (2 commits)")[![georgringer](https://avatars.githubusercontent.com/u/1905663?v=4)](https://github.com/georgringer "georgringer (1 commits)")[![joh-gp](https://avatars.githubusercontent.com/u/87063094?v=4)](https://github.com/joh-gp "joh-gp (1 commits)")

---

Tags

extensionfeedfeed-readerrsssimplepietypo3typo3-cms-extensiontypo3-extensionatomfeedrssextensionTYPO3 CMS

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/erhaweb-feed-display/health.svg)

```
[![Health](https://phpackages.com/badges/erhaweb-feed-display/health.svg)](https://phpackages.com/packages/erhaweb-feed-display)
```

###  Alternatives

[fluidtypo3/vhs

This is a collection of ViewHelpers for performing rendering tasks that are not natively provided by TYPO3's Fluid templating engine.

1954.1M49](/packages/fluidtypo3-vhs)[typo3/testing-framework

The TYPO3 testing framework provides base classes for unit, functional and acceptance testing.

675.0M775](/packages/typo3-testing-framework)[in2code/in2publish_core

Content publishing extension to connect stage and production server

40135.8k](/packages/in2code-in2publish-core)[pagemachine/typo3-formlog

Form log for TYPO3

23225.3k6](/packages/pagemachine-typo3-formlog)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

20229.9k](/packages/eliashaeussler-typo3-warming)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1481.0k](/packages/eliashaeussler-typo3-form-consent)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
