schachbulle / contao-autor-bundle
Inserttag {{autor::bv/fb/mw}} für Contao 4.13 und 5.7: Autorenkürzel mit Namen beim Überfahren und einem Popup mit Name, Bild und Kurzvita beim Anklicken. Mit Werkzeug zum Umstellen vorhandener Kürzel.
Package info
github.com/Samson1964/contao-autor-bundle
Type:contao-bundle
pkg:composer/schachbulle/contao-autor-bundle
Requires
- php: ^8.1
- contao/core-bundle: ^4.13 || ^5.7
- doctrine/dbal: ^3.3 || ^4.0
- symfony/config: ^5.4 || ^6.4 || ^7.0
- symfony/dependency-injection: ^5.4 || ^6.4 || ^7.0
- symfony/http-foundation: ^5.4 || ^6.4 || ^7.0
- symfony/http-kernel: ^5.4 || ^6.4 || ^7.0
Requires (Dev)
- contao/manager-plugin: ^2.0
- phpunit/phpunit: ^9.6 || ^10.0
Suggests
None
Provides
None
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
Replaces
None
This package is auto-updated.
Last update: 2026-11-04 15:19:34 UTC
README
Inserttag {{autor::…}} für Autorenkürzel in Nachrichten, Artikeln und
Inhaltselementen. Läuft unter Contao 4.13 und Contao 5.7 (PHP 8.1 bis 8.4).
Was es tut
Aus
{{autor::bv/fb/mw}}
wird im Frontend
(bv/fb/mw)
- Überfahren mit der Maus zeigt die Namen: „Bernd Vökler, Frank Binding und Matthias Wolf“.
- Klick auf ein einzelnes Kürzel öffnet ein Popup mit dem vollen Namen, optional einem Bild und einer Kurzvita.
Kürzel, die nicht in der Autorentabelle stehen, erscheinen als reiner Text.
Neben dem Schrägstrich werden auch Bindestrich, Komma und Pluszeichen als
Trenner verstanden ({{autor::bv-fb-mw}}); ausgegeben wird immer mit
Schrägstrich.
Autoren pflegen
Backend → Inhalte → Autoren. Je Autor:
| Feld | Bedeutung |
|---|---|
| Kürzel | wie im Text, z. B. mw; nur Kleinbuchstaben (auch ä, ö, ü, ß) und Ziffern |
| Name | erscheint beim Überfahren und als Überschrift im Popup |
| Bild | optional; wird quadratisch auf 200 × 200 Pixel zugeschnitten |
| Kurzvita | optional; formatierter Text |
Unter Contao 5 brauchen Redakteure ohne Administratorrechte in ihrer
Benutzergruppe neben dem Modul „Autoren“ auch die Datensatzrechte für
tl_autor (anlegen, bearbeiten, löschen).
Altbestand umstellen
In der Autorenliste führt die Schaltfläche „Altbestand umstellen“ zu einer Vorschau aller Stellen, die sich umschreiben lassen:
| Bisher | Neu |
|---|---|
{{custom::Autor_bv-fb-mw}} |
{{autor::bv/fb/mw}} |
(mw) im Text |
{{autor::mw}} |
(bv/fb/mw) im Text |
{{autor::bv/fb/mw}} |
Regeln:
- Umgestellt wird nur, wenn alle Kürzel einer Angabe als Autor angelegt
sind.
(dpa)bleibt also stehen, solange es keinen Autordpagibt. - Klartext wird nur in Kleinschreibung erkannt und nie innerhalb von HTML-Attributen oder anderen Inserttags.
- Durchsucht werden
tl_content.text,tl_content.html,tl_news.teaser,tl_calendar_events.teaserundtl_article.teaser(fehlende Tabellen werden übersprungen). - Geschrieben wird erst nach Klick auf „Jetzt umstellen“. Vor jeder Änderung legt das Werkzeug eine Version an; jede Umstellung lässt sich also über die Versionen des Datensatzes zurücknehmen. Der Änderungszeitpunkt der Datensätze bleibt unverändert.
Die Platzhalter des Inserttags-Bundles selbst bleiben bestehen; sie werden nach der Umstellung nur nicht mehr verwendet.
Aussehen anpassen
Das Bundle bindet bundles/contaoautor/autor.css und autor.js nur auf
Seiten ein, auf denen das Inserttag vorkommt. Die Kürzel erben Schrift und
Farbe des Themes und sind gepunktet unterstrichen. Für das Popup stehen
CSS-Variablen bereit:
:root { --autor-hintergrund: #fff; --autor-text: #222; --autor-rand: rgba(0, 0, 0, .15); --autor-breite: 26rem; }
Klassen: .autor (ganze Angabe), .autor-kuerzel (einzelner Knopf),
.autor-dialog mit __bild, __name, __vita, __schliessen.
Technik
- Contao 5.2 und neuer: Registrierung über das Attribut
AsInsertTag, mit Cache-Tagcontao.db.tl_autor– zwischengespeicherte Seiten verfallen, sobald ein Autor geändert wird. - Contao 4.13: Hook
replaceInsertTags. - Die Popup-Daten stehen als
data-Attribute am jeweiligen Knopf; das Popup ist ein natives<dialog>ohne weitere Bibliotheken.
Prüfen
php vendor/bin/phpunit
Für eine Sichtprüfung in einer Wegwerf-Testinstallation legt
tools/testdaten.php <datenbankname> drei Autoren und die Seite
autor-pruefstand mit Beispielen an; tools/router.php ist der Router für
den eingebauten PHP-Webserver (php -S 127.0.0.1:8000 -t public tools/router.php).
Lizenz
LGPL-3.0-or-later