Ordnerstruktur
repository/extensions/meine-erweiterung/
manifest.json
install.sql
public/meine-seite.php
admin/verwaltung.php
admin/templates/verwaltung.tpl
core/MeineRepository.php
manifest.json vollständig erklärt
{
"type": "extension",
"folder": "MeineErweiterung",
"name": "Meine Erweiterung",
"version": "1.0.0",
"author": "Dein Name",
"description": "Kurze Beschreibung.",
"depends_on": [],
"admin_pages": [
{"slug": "meine-verwaltung", "file": "admin/verwaltung.php",
"label": "Meine Erweiterung", "icon": "bi-star",
"permission": "settings.manage"}
]
}
folder muss exakt mit dem tatsächlichen Ordnernamen übereinstimmen - eine Abweichung führt dazu, dass der Installer das Paket nicht findet, obwohl die Dateien vorhanden sind.
install.sql-Konventionen
Immer CREATE TABLE IF NOT EXISTS verwenden (macht die Installation wiederholbar/idempotent), eigene Tabellen konsequent mit cms_-Präfix benennen.