Discogs-Sammlung für TYPO3
EXT:t3s_discogs
Etwas für Vinyl-Fans!
Neben Schallplatten (Vinyl) und CDs akzeptiert Discogs praktisch jedes physische Audiomedium, das jemals kommerziell oder offiziell für die Öffentlichkeit produziert wurde.
Präsentiere deine Discogs-Sammlung mit Cover-Bildern, Titellisten, Mitwirkenden und Community-Bewertungen auf deiner TYPO3-Website.
Requirements
TYPO3 >= 14.3
PHP >= 8.2
Ein Discogs-Konto mit einem persönlichen API-Token
Die Vorlagen erfordern Bootstrap 5.3
Settings
1. Erstelle einen Discogs-Benutzer-Token
- Melde dich bei discogs.com an
- Gehe zu Einstellungen → Entwickler
- Klicke auf "Neuen Token generieren"
- Kopiere den Token und bewahre ihn sicher auf
- Direkter Link: www.discogs.com/settings/developers
2. Füge das Inhaltselement hinzu
- Öffne eine Seite im Backend
- Füge ein neues Inhaltselement vom Typ “Discogs-Sammlung” ein
- Gebe im Reiter “Plugin" Folgendes ein:
- Discogs-Benutzername (wie in deinem Profil-URL angegeben)
- Discogs-Benutzer-Token (aus Schritt 1)
- Konfiguriere Spalten, Sortierung und andere Optionen nach Wunsch
Installation
Über Composer (empfohlen)
composer require t3s/t3s-discogs
Über das TYPO3 Extension Repository (TER)
Installiere über den TYPO3 Extension Manager:
Oder lade es direkt von extensions.typo3.org/extension/t3s_discogs herunter.
Plugin-Einstellungen (FlexForm)
| Einstellung | Beschreibung | Standard |
|---|---|---|
| username | Dein Discogs-Benutzername | - |
| token | Persönlicher API-Token | - |
| perPage | Anzeigen pro Seite (12 / 24 / 48 / 100) | 24 |
| columns | Bootstrap-Raster-Spalten (2 / 3 / 4 / 6) | 4 |
| sort | Sortierfeld (Datum/Interpret / Titel / Jahr / Format) | Datum |
| sortOrder | Sortierreihenfolge (aufsteigend / absteigend) | absteigend |
| viewMode | Als Raster oder Liste anzeigen | Raster |
| disableCache | Bei jeder Anfrage neue Daten abrufen | nein |
Live Demo
Caching
API-Antworten werden über das TYPO3-Caching-Framework zwischengespeichert (FileBackend, Cache-Gruppe “pages”):
- Collection lists werden für 1 Stunde zwischengespeichert
- Release details werden für 24 Stunden zwischengespeichert, da sich Stammdaten selten ändern
Um eine Aktualisierung zu erzwingen, leere den TYPO3-Seiten-Cache.
Das Caching kann pro Plugin-Instanz über die FlexForm-Einstellung “disableCache” deaktiviert werden.
Discogs-API-Ratenbegrenzungen
Authentifizierte Anfragen sind auf 60 pro Minute begrenzt.
Bei aktiviertem Caching bleibt die normale Nutzung deutlich innerhalb dieser Grenze.
Routing-Konfiguration
Um übersichtliche, leicht lesbare URLs für die Detailansicht und die Paginierung zu erhalten, füge folgendes in die Datei config/sites/<your-site>/config.yaml deiner Website ein:
routeEnhancers:
T3sDiscogsShow:
type: Extbase
limitToPages:
- 12 # UID of the page with the plugin
extension: T3sDiscogs
plugin: Collection
routes:
- { routePath: '/release/{releaseId}', _controller: 'Discogs::show', _arguments: {'releaseId': 'releaseId'} }
- { routePath: '/page/{page}', _controller: 'Discogs::list', _arguments: {'page': 'page'} }
defaultController: 'Discogs::list'Dadurch entstehen URLs wie:
/my-collection/release/2548209
/my-collection/page/2Parameter aus cHash ausschließen
Füge folgendes in die Datei “config/system/additional.php” ein, um zu verhindern, dass TYPO3 diesen URLs einen cHash-Parameter anhängt:
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = 'tx_t3sdiscogs_collection[releaseId]';
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = 'tx_t3sdiscogs_collection[action]';
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = 'tx_t3sdiscogs_collection[controller]';
$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = 'tx_t3sdiscogs_collection[page]';