Zum Hauptinhalt springen

Eine eigene Erweiterung bauen: Aufbau & manifest.json

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.