PHPackages                             mediadreams/md\_newsfrontend - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. mediadreams/md\_newsfrontend

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

mediadreams/md\_newsfrontend
============================

This TYPO3 extension enables frontend users to created news records.

6.0.4(2d ago)38.7k↑335.7%6[6 issues](https://github.com/cdaecke/md_newsfrontend/issues)[2 PRs](https://github.com/cdaecke/md_newsfrontend/pulls)GPL-2.0-or-laterJavaScriptCI failing

Since Apr 15Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/cdaecke/md_newsfrontend)[ Packagist](https://packagist.org/packages/mediadreams/md_newsfrontend)[ Docs](http://www.mediadreams.org)[ RSS](/packages/mediadreams-md-newsfrontend/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (38)Versions (32)Used By (0)

TYPO3 Extension `md_newsfrontend`
=================================

[](#typo3-extension-md_newsfrontend)

This extension enables a frontend user to add `ext:news`-records. Beside adding content for the normal text fields like `title`, `teaser`, `bodytext` it is also possible to upload an image and a file download as well as selecting a category.

Templates are ready to use with the [bootstrap framework](https://getbootstrap.com/) and icons will be shown, if you have [Font Awesome](https://fontawesome.com/) icon set included in your project. Validation of input is done in the frontend, rich text editing enabled for the textarea and a date picker in place for the archive date.

Requirements
------------

[](#requirements)

- TYPO3 ^13.4 || ^14.0
- ext:news ^11.0 || ^12.0 || ^13.0 || ^14.0

Installation
------------

[](#installation)

- Install the extension via Composer or the Extension Manager
- Add the Site Set **"News Frontend" (`mediadreams/md-newsfrontend`)** to your site configuration (`config/sites//config.yaml`)
- Configure the extension settings directly in the site configuration GUI or via `settings.yaml`

> **Important:** If a TypoScript template record exists on your root page, make sure the checkboxes **"Clear constants"** and **"Clear setup"** are **unchecked**. When checked, they wipe all TypoScript loaded by Site Sets before the template record is processed, which results in empty extension settings.

### Legacy TypoScript include

[](#legacy-typoscript-include)

If you prefer the classic approach, you can still include the TypoScript manually from `EXT:md_newsfrontend/Configuration/TypoScript/` and override constants as needed.

Usage
-----

[](#usage)

- Add the pluign `News frontend` on a page, which is restricted by the frontend user login
- Select a storage page in the plugin-tab in the field `Record Storage Page`
- Now a frontend user is able to add, edit and delete own records

PSR-14 Events
-------------

[](#psr-14-events)

Following PSR-14 events are available:

- `Mediadreams\MdNewsfrontend\Event\CreateActionBeforeSaveEvent`: Called just before saving a new record
- `Mediadreams\MdNewsfrontend\Event\CreateActionAfterPersistEvent`: Called after a new record was saved (new record Id is available)
- `Mediadreams\MdNewsfrontend\Event\UpdateActionBeforeSaveEvent`: Called just before an existing record will be updated
- `Mediadreams\MdNewsfrontend\Event\DeleteActionBeforeDeleteEvent`: Called just before a record will be deleted
- `Mediadreams\MdNewsfrontend\Event\ModifyAllowedMimeTypesEvent`: Called during file upload validation to modify the allowed MIME types for a given file extension

### Register an event

[](#register-an-event)

Add following lines in `Configuration/Services.yaml` of your own extension:

```
services:
  Vendor\Extension\EventListener\MyListener:
    tags:
      - name: event.listener
        identifier: 'ext-mdnewsfrontend/createActionBeforeSaveEvent'
        method: 'enrichNews'
        event: Mediadreams\MdNewsfrontend\Event\CreateActionBeforeSaveEvent
```

Add the class `Vendor\Extension\EventListener\MyListener` with the method `enrichNews` in your extension:

```
namespace Vendor\Extension\EventListener;

use Mediadreams\MdNewsfrontend\Event\CreateActionBeforeSaveEvent;

final class MyListener
{
    public function enrichNews(CreateActionBeforeSaveEvent $obj)
    {
        // Get news object
        $news = $obj->getNews();
        $news->setTeaser('Set some teaser...');

        // Get NewsController
        $newsController = $obj->getNewsController();
    }
}
```

### ModifyAllowedMimeTypesEvent

[](#modifyallowedmimetypesevent)

The `ModifyAllowedMimeTypesEvent` is dispatched during file upload validation and allows you to extend or override the built-in MIME type map. This is useful when you need to permit file extensions that are not covered by the default configuration (e.g. `svg`, `heic`, `odt`).

The event provides the following methods:

- `getExtension(): string` — the file extension being validated (lowercase, e.g. `'svg'`)
- `getMimeTypes(): array` — the current list of allowed MIME types for this extension
- `setMimeTypes(array $mimeTypes): void` — replace the entire list of allowed MIME types
- `addMimeType(string $mimeType): void` — append a single MIME type to the existing list

**Example:** Allow SVG uploads by adding a listener in `Configuration/Services.yaml`:

```
services:
  Vendor\Extension\EventListener\AddSvgMimeType:
    tags:
      - name: event.listener
        identifier: 'my-extension/add-svg-mime-type'
        event: Mediadreams\MdNewsfrontend\Event\ModifyAllowedMimeTypesEvent
```

```
namespace Vendor\Extension\EventListener;

use Mediadreams\MdNewsfrontend\Event\ModifyAllowedMimeTypesEvent;

final class AddSvgMimeType
{
    public function __invoke(ModifyAllowedMimeTypesEvent $event): void
    {
        if ($event->getExtension() === 'svg') {
            $event->setMimeTypes(['image/svg+xml']);
        }
    }
}
```

> **Note:** Extensions not present in the MIME type map skip the MIME check entirely. To enforce MIME validation for a new extension, add it via this event. To disable MIME validation for an existing extension, call `$event->setMimeTypes([])` for that extension.

Bugs and Known Issues
---------------------

[](#bugs-and-known-issues)

If you find a bug, it would be nice if you add an issue on [Github](https://github.com/cdaecke/md_newsfrontend/issues).

THANKS
======

[](#thanks)

Thanks a lot to all who make this outstanding TYPO3 project possible!

Credits
-------

[](#credits)

- Extension icon was copied from [ext:news](https://github.com/georgringer/news) and enriched with a pen from [Font Awesome](https://fontawesome.com/icons/pencil-alt?style=solid).
- Thanks to [Parsley.js](http://parsleyjs.org), which I use for validating the form in the frontend.
- Thanks to [tiny](https://www.tiny.cloud), which I use as rich text editor in the frontend.
- Thanks to [flatpickr](https://flatpickr.js.org/), which I use as date picker in the frontend.
- And last but not least thanks to the guys at [jQuery](http://jquery.com/).

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance76

Regular maintenance activity

Popularity29

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 97.7% 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 ~94 days

Recently: every ~22 days

Total

29

Last Release

2d ago

Major Versions

1.1.5 → 2.0.02020-06-24

2.0.2 → 3.0.02022-01-14

3.0.3 → 4.0.02024-02-02

4.0.2 → 5.0.02025-04-17

5.0.5 → 6.0.02026-04-02

### Community

Maintainers

![](https://www.gravatar.com/avatar/c5d77efbf0d5d788c58c6c783c044fc88a8009cdc65dff094a6b8d7de862de94?d=identicon)[mediadreams](/maintainers/mediadreams)

---

Top Contributors

[![cdaecke](https://avatars.githubusercontent.com/u/2102444?v=4)](https://github.com/cdaecke "cdaecke (168 commits)")[![h-e-l-l-o-w-o-r-l-d](https://avatars.githubusercontent.com/u/51790093?v=4)](https://github.com/h-e-l-l-o-w-o-r-l-d "h-e-l-l-o-w-o-r-l-d (3 commits)")[![siwa-tkapplmueller](https://avatars.githubusercontent.com/u/47564597?v=4)](https://github.com/siwa-tkapplmueller "siwa-tkapplmueller (1 commits)")

---

Tags

frontendnewsphptypo3typo3-cms-extensiontypo3-extensionextensionfrontend newstypo3fe\_users

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mediadreams-md-newsfrontend/health.svg)

```
[![Health](https://phpackages.com/badges/mediadreams-md-newsfrontend/health.svg)](https://phpackages.com/packages/mediadreams-md-newsfrontend)
```

###  Alternatives

[georgringer/news

News system - Versatile news system based on Extbase &amp; Fluid and using the latest technologies provided by TYPO3 CMS.

2985.3M123](/packages/georgringer-news)[georgringer/eventnews

Extend EXT:news with event and calendar functionality

31626.5k4](/packages/georgringer-eventnews)[rupertgermann/tt_news

News - Website news with front page teasers and article handling inside.

2256.1k](/packages/rupertgermann-tt-news)[t3brightside/pagelist

TYPO3 CMS extension to create news, events, vacancies and products or just page lists. Demo: microtemplate.t3brightside.com

1121.5k1](/packages/t3brightside-pagelist)

PHPackages © 2026

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