Admin – Plugin-Marketplace
Auf dieser Seite
English (summary)
The plugin marketplace (CMS/admin/plugin-marketplace.php → CMS/admin/modules/plugins/PluginMarketplaceModule.php → CMS/admin/views/plugins/marketplace.php) reads the plugin registry (setting plugin_registry_url, default https://365cms.de/marketplace/plugins/index.json), caches it for 15 minutes and installs ZIP packages via UpdateService::downloadAndInstallUpdate() (action install). Only allow-listed hosts are accepted and a valid SHA-256 checksum is mandatory. The menu entry is hidden when marketplace_enabled = 0.
Deutsch
Katalog
- Quelle:
plugin_registry_url(Einstellungen → Allgemein → Marketplace & Updates). - Grenzen: Registry max. 1 MB, einzelne Manifeste max. 512 KB, Textfelder max. 500 Zeichen.
- Cache: 15 Minuten in
plugin_marketplace_registry_cache(+_meta). - Erlaubte Hosts:
365cms.de,www.365cms.de,365network.de,www.365network.de,github.com,api.github.com,codeload.github.com,objects.githubusercontent.com,raw.githubusercontent.com. - Anzeige je Plugin: Name, Beschreibung, Version, Autor, Kompatibilität (
requires_cms/min_cms_version,requires_php/min_php,tested_up_to), Status (installiert/aktualisierbar), Preis bzw. Kauf-Link bei kostenpflichtigen Plugins.
Installation (action=install, Feld slug)
- Plugin muss im Katalog stehen und darf noch nicht installiert sein.
- Download nur von erlaubten Hosts, Paket nur
.zip, max. 100 MB. - SHA-256-Prüfsumme ist Pflicht und wird gegen das Paket geprüft.
- Entpacken mit Grenzen (2000 Einträge, 50 MB entpackt) und Pfadprüfung.
- Ziel
CMS/plugins/<slug>/; danach unter/admin/pluginsaktivieren.
Eigene Registry betreiben
Eine Registry ist eine JSON-Datei mit dem Schlüssel plugins (Liste). Beispiel (vgl. CMS/marketplace/plugins/index.json):
{
"plugins": [
{
"slug": "mein-plugin",
"name": "Mein Plugin",
"description": "Kurzbeschreibung",
"version": "1.0.0",
"author": "Firma",
"requires_cms": "3.4.00",
"requires_php": "8.4",
"is_paid": false,
"download_url": "https://365cms.de/marketplace/plugins/mein-plugin-1.0.0.zip",
"sha256": "<64 Hex-Zeichen>",
"update_url": "https://365cms.de/marketplace/plugins/mein-plugin/update.json"
}
]
}
Die Download-URL muss auf einem erlaubten Host liegen. Details zum Paketformat: ../../plugins/PLUGIN-MARKETPLACE.md.
Verwandte Dokumente
PLUGINS.md · UPDATES.md · ../themes-design/MARKETPLACE.md · ../../workflow/MARKETPLACE-WORKFLOW.md