Welche Contao Module werden verwendet?
- 3.5
- 4.4
- 4.9
- 4.13
- 5.3
- 5.7
Gerade bei komplexeren Projekten ist es oft nicht leicht, den Überblick zu bewahren. Eine einheitliche Benennung und eine Dokumentation lösen das Problem häufig. Aber was, wenn man ein Projekt übernimmt oder es keine Dokumentation gibt? Im Folgenden stelle ich dir zwei Varianten vor.
A) Erweiterung Contao-Include-Info nutzen
Im ersten Schritt empfehle ich, die Erweiterung «inspiredminds/contao-include-info» zu installieren.
Anschließend findest du im Backend innerhalb der Frontend-Module einen neuen Eintrag. Dieser Zeit in Form einer Breadcrumb an, wo das Modul verwendet wird.
Im folgenden Beispiel habe ich die Hauptnavigation geöffnet. Es wird nun angezeigt, dass mein Modul in den Layouts 1-spaltig und 2-spaltig (Submenü) verwendet wird.
B) Module per SQL herausfinden
Solltest du mit der genannten Erweiterung nicht zum gewünschten Ergebnis kommen, kannst du versuchen anhand von SQL-Anweisungen die Module zu finden. Voraussetzung ist, dass du direkten Datenbankzugriff hast (z.B. per phpMyAdmin).
1. Backup
Wenn du Module auch löschen möchtest, erstelle zunächst ein Backup der Datenbank.
2. Datenbank SQL-Abfrage ausführen
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`;
Wichtiger Hinweis
Das SQL-Statement liefert keine vollständige Auflistung, sondern zeigt nur die Verwendung von Modulen an, die per Inhaltselement oder im Layout eingebunden wurden. Andere Möglichkeiten wie Insertags, direkt in Templates oder beispielsweise über Erweiterungen, können nicht berücksichtigt werden.
3. Ergebnis prüfen
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. Nicht verwendete Module in Layout und Content
Nun lohnt sich ein näherer 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. Verwendung als Inserttag prüfen
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. Templates prüfen
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. Modul löschen
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.
Möchtest du über neue Artikel informiert werden?
Dann trage hier deine E-Mailadresse ein und klicke auf „Abonnieren". Du erhältst regelmäßig aktuelle Infos über Contao und die Contao-Academy.
Über den Autor
Christian Feneberg ist der Initiator und Dozent der Contao Academy. Er bringt über 15 Jahre Praxiswissen in der professionellen Umsetzung von Contao-Websites mit. Zudem ist er Teil des Teams von trakked.io. Er liebt es, sich neues Wissen anzueignen und es weiterzugeben. Abseits des Bildschirms verbringt er am liebsten Zeit mit seiner Familie und in der Natur.
Folge Christian jetzt bei LinkedIn.
1 Kommentare
Anke
Vielen Dank für diese Erläuterung!
Einen Kommentar schreiben