srhinow / download-bundle
this extension manage download-list
Package info
gitlab.com/srhinow/download-bundle
Type:contao-bundle
pkg:composer/srhinow/download-bundle
Requires
- php: >=8.3
- ext-json: *
- contao/core-bundle: ^5.3
- srhinow/contao-tags: ^5.0.6
- symfony/form: ^7.2
This package is auto-updated.
Last update: 2026-04-26 19:13:18 UTC
README
Contao 5 Bundle zur zentralen Verwaltung von Downloads mit Kategorien im Backend und kategorie-separierter Ausgabe im Frontend. Unterstützt Dateianhänge, Vorschaubilder, Tags (srhinow/contao-tags) und einen konfigurierbaren Detailseitenlink.
Voraussetzungen
- PHP ^8.3
- Contao ^5.3
srhinow/contao-tags ^5.0.6symfony/form ^7.2
Installation
composer require srhinow/download-bundle
Nach der Installation php bin/console contao:migrate ausführen.
Datenstruktur
tl_download_categories Kategorien (hierarchisch, bis 3 Ebenen)
tl_downloads Download-Einträge (Datei, Bild, Tags, Kategorien)
Download-Felder
| Feld | Beschreibung |
|---|---|
name | Bezeichnung |
alias | URL-Alias (automatisch generiert) |
file | Dateiauswahl aus der Contao-Dateiverwaltung |
singleSRC | Optionales Vorschaubild (100×100 px im Backend-Listing) |
category | Zugeordnete Kategorien (mehrere möglich, serialisiert) |
tags | Tags aus tl_tags (hschottm/tags-bundle) |
published | Veröffentlichungsstatus |
Backend
Im Contao-Backend stehen zwei Einträge bereit:
- Downloads — Hauptliste mit Datei-Link, Kategoriespalte und Tag-Spalte in der Listenansicht
- Download-Kategorien — Hierarchische Kategorieverwaltung (bis 3 Ebenen: Hauptkategorie → Unterkategorie → Ebene 3)
Frontend-Module
| Modultyp | Template | Beschreibung |
|---|---|---|
downloadList | download_item_* | Listenansicht mit Suchformular, Kategoriefilter und Pagination |
downloadDetail | download_item_* | Detailansicht eines einzelnen Downloads |
Das Detailseiten-Modul liest den Download-Alias aus der URL. Das List-Modul enthält eine konfigurierbare Sprungseite (jumpTo) für die Detailansicht.
Insert-Tags
{{download::search}} Aktueller Suchwert aus POST
{{download::tag}} Aktuell gesetzter Tag-Filter aus POST
Suchindex
Der GetSearchablePagesListener (#[AsHook('getSearchablePages')]) fügt alle veröffentlichten Downloads dem Contao-Suchindex hinzu, sofern ein downloadDetail-Modul und ein downloadList-Modul mit konfigurierter Sprungseite vorhanden sind.
Tests ausführen
PHPUnit wird aus dem Hauptprojekt heraus aufgerufen:
# aus /var/www/b/bz-niedersachsen.de/bzn-cms_contao5
vendor/bin/phpunit -c vendor/srhinow/download-bundle/phpunit.xml.dist