{% extends 'admin/shell.html.twig' %} {% set nav = 'plugins' %} {% block title %}Plugins{% endblock %} {% block heading %}Plugins{% endblock %} {% block styles %}{% endblock %} {% block scripts %}{% endblock %} {% block lead %}Erweiterungen bringen eigene Bausteine, Vorlagen und Adressen mit. Sie liegen als Ordner unter plugins/; hier schaltest du sie ein und aus und stellst sie ein. Ein ausgeschaltetes Plugin lässt seine Bausteine in den Seiten stehen, zeigt sie aber nicht mehr.{% endblock %} {# Ein Feld aus dem Schema eines Plugins - dieselben sieben Arten wie im Editor. #} {% macro feld(plugin, key, schema, value) %} {% set id = 'plugin-' ~ plugin ~ '-' ~ key %} {% set name = 'settings[' ~ key ~ ']' %} {% if schema.kind == 'media' %}
{% include 'admin/media-field.html.twig' with {id: id, name: name, label: schema.label, value: value|default(''), help: schema.help|default('')} only %}
{% elseif schema.kind == 'boolean' %}
{% if schema.help %}

{{ schema.help }}

{% endif %}
{% else %}
{% if schema.kind == 'textarea' %} {% elseif schema.kind == 'select' %} {% elseif schema.kind == 'url' %} {% elseif schema.kind == 'number' %} {% else %}{% endif %} {% if schema.help %}

{{ schema.help }}

{% endif %}
{% endif %} {% endmacro %} {% block content %} {% import _self as f %} {% if plugins is empty %}

Keine Plugins gefunden.

Ein Plugin ist ein Ordner unter {{ directory }} mit einer plugin.json. Wie eine aussieht, steht in docs/PLUGINS.md.

{% else %}
{% for plugin in plugins %}

{{ plugin.title }} {{ plugin.version }}

{% if plugin.description %}

{{ plugin.description }}

{% endif %} {% if plugin.error %}

Nicht ladbar: {{ plugin.error }}

{% else %}

Ordner plugins/{{ plugin.name }}{% if plugin.requires %} · braucht KantSites {{ plugin.requires }}{% endif %}{% if plugin.active and plugin.activatedVersion and plugin.activatedVersion != plugin.version %} · seit dem Einschalten aktualisiert (war {{ plugin.activatedVersion }}){% endif %}

{% for block in plugin.blocks %}
{{ block.icon }} {{ block.label }}
{{ block.type }}{% if block.description %} – {{ block.description }}{% endif %} · {{ block.props|length }} {{ block.props|length == 1 ? 'Eigenschaft' : 'Eigenschaften' }}{% if block.container %} · Container{% if block.children %} für {{ block.children|join(', ') }}{% endif %}{% endif %}{% if block.css %} · Stylesheet{% endif %}{% if block.script %} · Skript{% endif %}
{% endfor %} {% for preset in plugin.presets %}
⬡ Vorlage „{{ preset.label }}“
{{ preset.description ?: 'Seitenvorlage für den Editor' }} · {{ preset.blocks|length }} {{ preset.blocks|length == 1 ? 'Baustein' : 'Bausteine' }}
{% endfor %} {% for route in plugin.routes %}
↗ Adresse
{% if plugin.active %}{{ route.path }}{% else %}{{ route.path }}{% endif %} · {{ route.type }}
{% endfor %}
{% if plugin.active and plugin.settings is not empty %}

Einstellungen

{% for key, schema in plugin.settings %}{{ f.feld(plugin.name, key, schema, plugin.values[key]|default('')) }}{% endfor %}
{% endif %} {% endif %}
{{ plugin.active ? 'Eingeschaltet' : 'Aus' }} {% if not plugin.error %}
{% endif %}
{% endfor %}
{% endif %}

Plugin-Vorlagen laufen mit den Rechten der Website – es gibt keinen Sandkasten. Installiere nur, was du gelesen hast. Farben, Schriften und Buttons änderst du ausschließlich unter Design – ein Plugin fasst sie nicht an.

KantSites · Arbeitsstand

{% endblock %}