srhinow/download-bundle

this extension manage download-list

Maintainers

Package info

gitlab.com/srhinow/download-bundle

Issues

Type:contao-bundle

pkg:composer/srhinow/download-bundle

Statistics

Installs: 182

Dependents: 0

Suggesters: 0

Stars: 0

2.1.0 2026-04-26 20:50 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.6
  • symfony/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

FeldBeschreibung
nameBezeichnung
aliasURL-Alias (automatisch generiert)
fileDateiauswahl aus der Contao-Dateiverwaltung
singleSRCOptionales Vorschaubild (100×100 px im Backend-Listing)
categoryZugeordnete Kategorien (mehrere möglich, serialisiert)
tagsTags aus tl_tags (hschottm/tags-bundle)
publishedVerö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

ModultypTemplateBeschreibung
downloadListdownload_item_*Listenansicht mit Suchformular, Kategoriefilter und Pagination
downloadDetaildownload_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