Search by

schachbulle / contao-databaseinfo-bundle

Samson1964

Zeigt in der Systemwartung, wie oft die einzelnen Inhaltselemente in der Datenbank verwendet werden.

Package info

github.com/Samson1964/contao-databaseinfo-bundle

Type:contao-bundle

pkg:composer/schachbulle/contao-databaseinfo-bundle

Statistics

Installs: 19

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

3.2.0 2026-09-10 11:59 UTC

This package is auto-updated.

Last update: 2026-09-10 12:02:41 UTC


README

Zeigt in der Systemwartung, was in der Datenbank tatsächlich verwendet wird — und was vermutlich Altlast ist.

Übersichten

Zwei Tabellen, gleich aufgebaut:

  • Inhaltselemente aus tl_content, je Typ die Anzahl der Datensätze, der Bereich aus $GLOBALS['TL_CTE'] und ob der Typ von Contao selbst stammt.
  • Frontend-Module aus tl_module, dasselbe mit $GLOBALS['FE_MOD'].

Typen, die zwar in der Tabelle vorkommen, aber nicht (mehr) registriert sind – etwa aus deinstallierten Erweiterungen –, erscheinen mit dem Bereich „unbekannt“.

Hinweise auf Altlasten

Unter den Tabellen stehen drei Prüfungen. Jede meldet sich nur, wenn es etwas zu melden gibt:

  1. Nicht registrierte Typen in tl_content und tl_module, mit Anzahl je Typ.
  2. Inhaltselemente ohne Elterndatensatzptable/pid zeigen ins Leere, das Element ist über das Backend nicht mehr erreichbar. Aufgeschlüsselt nach Elterntabelle; eine leere ptable gilt als tl_article, und eine Elterntabelle, die es gar nicht mehr gibt, macht sämtliche zugehörigen Elemente verwaist.
  3. Module ohne Einbindung — weder in einem Seitenlayout noch von einem Inhaltselement des Typs „module“ noch von einem Modul des Typs root_page_dependent_modules benutzt.

Das Modul löscht nichts, es zeigt nur an.

Grenze der dritten Prüfung: Eine Einbindung über den Insert-Tag insert_module wird nicht erkannt, weil dieser in jedem Textfeld jeder Tabelle stehen kann. Ein gemeldetes Modul kann also trotzdem benutzt werden — vor dem Löschen nachsehen.

Spalte „Kern-Element“

„Ja“ steht für Typen, die Contao selbst mitbringt: alles aus contao/core-bundle sowie die Elemente und Module der offiziellen Contao-Bundles (news, calendar, faq, newsletter, comments, listing). Alle anderen stammen aus Erweiterungen.

Die Zuordnung kommt aus zwei Listen in src/Classes/DatabaseInfo.php, weil sie sich zur Laufzeit nicht zuverlässig ermitteln lässt: Contao 5 registriert seine Elemente und Module als Fragmente, die in $GLOBALS['TL_CTE'] bzw. $GLOBALS['FE_MOD'] nur als Contao\ContentProxy bzw. Contao\ModuleProxy erscheinen. Die Listen umfassen die Typen beider unterstützter Contao-Fassungen und müssen bei einer neuen Contao-Hauptversion ergänzt werden.

Voraussetzungen

  • PHP 7.4 bis 8.4
  • Contao 4.13 oder Contao 5

Geprüft wurde gegen Contao 4.13.58 und Contao 5.7.7, jeweils mit PHP 8.4.24.