Werden Contao-Module verwendet?

(Kommentare: 1)

Welches Contao-Modul setze ich an welcher Stelle ein? Gerade bei komplexeren Projekten ist es da oft nicht leicht den Überblick zu bewahren. Eine einheitliche Benennung und eine Dokumentation lösen das Problem. Aber was, wenn man ein Projekt übernimmt oder es keine Dokumentation gibt? Diese Anleitung hilft zu ermitteln, welche Contao-Module zum Einsatz kommen und welche nicht.

Benötigt:

  • Direkten Datenbankzugriff

Anleitung:

Bitte beachte: Diese Anleitung geht auf die gebräuchlichsten Methoden ein, mittels derer Contao-Module eingebunden werden. Speziallösungen, beispielsweise über Erweiterungen, können nicht berücksicht werden.

  1. Wenn du Module löschen möchtest, leg zunächst ein Backup der Datenbank an.
  2. Mittels diesem Datenbank-Statement ermittelst du zunächst, welche Module wie oft als Content-Element (Spalte "in_content") und in den Seitenlayouts (Spalte "in_layout") verwendet werden:
    SELECT id, name, (SELECT COUNT(*) FROM tl_content WHERE type = 'module' AND module = tl_module.id) AS in_content, (SELECT count(*) FROM tl_layout WHERE modules LIKE CONCAT('%"', tl_module.id, '"%')) AS in_layout FROM `tl_module`;
  3. Bei Modulen mit niedrigen Werten, kannst du prüfen, ob diese Module wirklich benötigt werden. Oftmals können diese mit einem anderen zusammengeführt werden oder es gibt einfach andere Lösungswege. Führe anschließend das obenstehende SQL-Statement erneut aus.
  4. Nun lohnt sich ein nährer Blick auf die Module, die in beiden Spalten eine 0 stehen haben. Diese scheinen nicht verwendet zu werden. Dennoch ist eine Integration mittels Inserttag denkbar. Dieser kann sich an beliebigen Stellen in der Datenbank, in Modulen oder Template befinden. Diese suchen wir in den nächsten Schritten.
  5. Exportiere die komplette Datenbank ohne die Ausgabe zu komprimieren. Durchsuche anschließend den Export nach dem Wort "insert_module". Findest du Treffer, prüfe anhand der jeweils folgenden ID, ob es sich um eines der vermeintlich ungenutzen Module handelt.
  6. Durchsuche die individuellen Templates ebenfalls nach "insert_module" und verfahre mit Treffern ebenso. Unter Linux/Mac einfach im Terminal in das entsprechende Verzeichnis wechseln und dort ausführen:
    grep insert_module * -r
  7. Wenn auch nach den letzten beiden Schritten Module scheinbar nicht verwendet werden, kannst du diese mit hoher Sicherheit löschen. Bedenke vorher jedoch, ob diese nicht über andere Wege eingebunden sein könnten oder nur zeitweise nicht genutzt und später Verwendung finden sollen.

Zurück

Einen Kommentar schreiben

Kommentar von Raffael |

Vielen Dank. Der Artikel ist schon mal sehr hilfreich. Wenn es nun noch einen Artikel zu nicht verwendeten Extensions gibt, ist es perfekt. :-)