srhinow / contao-news-simple-bundle
Bildet das Contao2 Verhalten der Nachrichten nach. So wird ein Textfeld in den News-Einstellungen bereitgestellt ohne das extra Inhaltselemente befüllt werden müssen um die Detailansicht darzustellen. Evtl auch nützlich, um alte Contao-System auf eine aktuelle Contao-Version zu migrieren.
Package info
gitlab.com/srhinow/contao-news-simple-bundle
Type:contao-bundle
pkg:composer/srhinow/contao-news-simple-bundle
Requires
- php: >=8.3
- contao/core-bundle: ^5.3
- contao/news-bundle: ^5.3
Requires (Dev)
- phpunit/phpunit: ^10.5 || ^11.5
README
Stellt das klassische Nachrichtentext-Verhalten von Contao 2 wieder her: Ein TinyMCE-Textfeld direkt in der News-Maske, dessen Inhalt ohne extra Inhaltselemente in der Detailansicht angezeigt wird. Ideal für einfache Nachrichtentexte und für die Migration älterer Contao-Installationen.
Fork von felixpfeiffer/Contao-NewsSimple, neu geschrieben für Contao 5.3+ und PHP 8.3+.
Anforderungen
| Abhängigkeit | Version |
|---|---|
| PHP | ≥ 8.3 |
| Contao Core Bundle | ^5.3 |
| Contao News Bundle | ^5.3 |
Installation
composer require srhinow/contao-news-simple-bundle
Nach der Installation die Datenbank-Migration ausführen, um die Spalte newsText in tl_news anzulegen:
php bin/console contao:migrate
Funktionsweise
Das Bundle hängt sich per parseArticles-Hook in den Contao-Nachrichtenleser ein. Der Inhalt des Felds newsText wird als ce_text-Inhaltselement gerendert und dem bestehenden $template->text vorangestellt — oder ersetzt ihn vollständig, wenn die Option „Keine Inhaltselemente" aktiv ist.
Hook: parseArticles → ParseArticleListener::__invoke()
Backend
Erweiterung tl_news
Das Bundle fügt in der Standardpalette der News-Maske eine neue Palette-Sektion „Nachrichtentext" ein (nach der teaser-Sektion).
| Feld | Beschreibung |
|---|---|
Nachrichtentext (newsText) | Freitextfeld mit TinyMCE-Editor. Der Inhalt wird im Nachrichtenleser direkt angezeigt, ohne dass Inhaltselemente befüllt werden müssen. Unterstützt Insert-Tags und E-Mail-Obfuskation. |
Systemeinstellungen (tl_settings)
Unter System → Einstellungen erscheint eine neue Sektion „Simple-News":
| Feld | Beschreibung |
|---|---|
Keine Inhaltselemente in News (newsSimpleNoElements) | Checkbox. Wenn aktiv: Die Möglichkeit, Inhaltselemente in News einzusetzen, wird deaktiviert (Kindtabelle, switchToEdit und zugehörige Operationen werden aus dem DCA entfernt). Der newsText ersetzt dann vollständig den durch Inhaltselemente generierten Text. |
Frontend
Das Bundle greift über den parseArticles-Hook in den Rendering-Prozess des Standard-Nachrichtenlesers ein:
- Insert-Tags in
newsTextwerden aufgelöst. - E-Mail-Adressen werden obfuskiert.
- Der Text wird als
ce_text-Template gerendert. - Wenn
newsSimpleNoElementsaktiv:$template->textwird durch dennewsTextersetzt. - Wenn
newsSimpleNoElementsinaktiv: DernewsTextwird dem vorhandenen Inhaltselement-Text vorangestellt.
Keine eigenen Templates, keine eigenen Frontend-Module — die Ausgabe nutzt das Standard-ce_text.html.twig-Template von Contao.
Datenbankstruktur
Erweiterung tl_news
| Spalte | Typ | Beschreibung |
|---|---|---|
newsText | text NULL | Nachrichtentext (HTML, Insert-Tags möglich) |
Keine neuen Tabellen.
Tests ausführen
Aus dem Bundle-Root:
vendor/bin/phpunit
Aus dem Contao-Hauptverzeichnis:
vendor/bin/phpunit -c vendor/srhinow/contao-news-simple-bundle/phpunit.xml.dist
Changelog
Siehe Changelog.md für die vollständige Versionshistorie.
Lizenz
LGPL-3.0-or-later
Autoren
Felix Pfeiffer — felixpfeiffer.de (Ursprungsautor)
Sven Rhinow — sr-tag.de
Support: sven@sr-tag.de
Quellcode: gitlab.com/srhinow/contao-news-simple-bundle