markocupic / contao-backend-column-toggle
Contao backend column toggle: hide and show table columns dynamically with Stimulus, stored per user.
Package info
github.com/markocupic/contao-backend-column-toggle
Type:contao-bundle
pkg:composer/markocupic/contao-backend-column-toggle
Requires
- php: ^8.1
- contao/core-bundle: ^5.3
Requires (Dev)
- contao/manager-plugin: ^2.12
- contao/test-case: ^5.7
- markocupic/easy-coding-standard: ^13.0
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^12.4
README
Contao Backend Column Toggle
Blendet Spalten einer Contao-Backend-Listenansicht per Klick auf den Spaltentitel aus und wieder ein. Die Spalten können über einen Button im Menu der globalen Operationen wieder eingeblendet werden. Die Einstellung wird pro Backend-Benutzer und pro Tabelle in der User-Session gespeichert und übersteht einen Logout.
Screenshot
Listenansicht mit geöffnetem Spalten-Menü. Die abgewählten Spalten werden serverseitig gar nicht erst gerendert.
Voraussetzung
Die Listenansicht muss den Spaltenmodus verwenden:
$GLOBALS['TL_DCA']['tl_example']['list']['label']['showColumns'] = true;
Nur dann rendert Contao eine <thead>-Zeile mit <th class="tl_folder_tlist col_<fieldname>">.
Ablauf
- Klick auf einen Spaltentitel → Spalte wird sofort im DOM versteckt und per AJAX gespeichert.
- Beim nächsten Seitenaufruf entfernt der Hook das Feld bereits serverseitig aus der DCA.
- Über den Button Spalten bei den globalen Operationen lassen sich Spalten wieder einblenden (das erfordert einen Reload, da die Spalte serverseitig gar nicht gerendert wurde).
- Mindestens eine Spalte bleibt immer sichtbar.

