> For the complete documentation index, see [llms.txt](https://alaniso-de.gitbook.io/alaf-framework/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alaniso-de.gitbook.io/alaf-framework/modulstruktur.md).

# Modulstruktur

Die zu einem Modul gehörenden Dateien sollten in folgender Weise strukturiert sein, damit das Framework korrekt mit dem Modul arbeitet.

&#x20;Nachstehend aufgeführt die empfohlene Ordnerstruktur innerhalb des Moduls. Diese Angaben sind teilweise optional, d.h. sie werden nicht für jedes Modul vollständig benötigt:

![Modulstruktur am Beispiel des Blog-Moduls](/files/-Lc6feM1gv7YH0FkhshC)

### Modulordner

Der Modulordner sollte einen eindeutigen Namen haben. Dieser Name wird vom Framework in der Modulverwaltung verwendet, um die notwendigen Einstellungen zu ermöglichen.

Der Modulordner sollte enthalten:

`index.php`

Der Modulordner kann enthalten:

`impressum.php`

### Ordner: admin

Der admin - Ordner enthält grundsätzlich die "Sprungverteiler"-Datei `admin.php`. Diese Datei wird benötigt, um die Funktionen im Administrationsbereich (Backend) zu routen.

In der Datei `configuration.xml` wird die Modulkonfiguration im XML-Format hinterlegt. Diese Datei wird vom alaf-Framework gelesen, um den Aufbau des Administrationsbereich (Backend) zu gestalten.

### Ordner: core

Im core - Ordner werden die Dateien abgelegt, die von den Grundfunktionen des alaf-Frameworks aufgerufen werden sollen. Dieses sind z.B.:

| Datei               | Type       | Funktion                                                                                                                                                                                                                                                                                 |
| ------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `admin.menu.php`    | Hook-Datei | Beschreibt die Anordnung und das Aussehen des Modulbezogenen Menüeintrags im Administrationsbereich (Backend)                                                                                                                                                                            |
| `get.config.php`    | Hook-Datei | <p>Hook-Datei zur Bekanntgabe der modulspezifischen Konfigurationsdaten.</p><p>Beispiel: <a href="/pages/-Lc6o7B_Ad0ZNIsr9QEQ">get.config.php</a></p>                                                                                                                                    |
| `cleanup.files.php` | include    | Falls vorhanden, enthält diese Datei 2 array-Variablen (`$deldirs[]` und `$delfiles[]` ), die während der Setup-Funktion die zu löschenden Betriebssystem-Verzeichnisse und -Dateien enthält. *Diese Funktion wird meistens bei Versionswechsel genutzt!*                                |
| `permissions.php`   | Hook-Datei | Hook-Datei zur Bekanntgabe der modulspezifischen Rollen und Berechtigungen.                                                                                                                                                                                                              |
| tabledata.php       | include    | <p>Falls vorhanden, enthält diese Datei Datenbankanweisungen zur Manipulation der Datenbank. Somit können z.B. Standard-Tabelleneinträge erzeugt / geändert werden.<br>Die Ergebnisse werden in der array-Variable <code>$ret\_querys\[]</code> an die Setup-Funktion zurückgegeben.</p> |
| `tabledef.xml`      | XML        | <p>Konfigurationsdatei zur Beschreibung der benötigten Datenbanktabellen / Tabellenänderungen.</p><p>Diese Datei wird während der Setup-Funktion gelesen und interpretiert.</p>                                                                                                          |

### Ordner: includes

Hier liegen die benötigten Include-Dateien für das Modul. Einde detailierte Auflistung folgt ggf.

### Ordner: lang

Enthält die Sprachendateien für die modulbezogenen Bezeichnungen.

### Ordner: templates

Hier sollten die Vorlagedateien (HTML-Templates) abgelegt werden


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://alaniso-de.gitbook.io/alaf-framework/modulstruktur.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
