expimageeditor: der Bildeditor von admin4
Diese Seite ist für Redakteure, die Bilder beim Bearbeiten von Inhalten anpassen, und für Administratoren, die den
Editor einschalten. expimageeditor ist ein Bildeditor neben dem Bildattribut im Bearbeitungsformular des Designs
admin4 (und admin4l, das damit zeichnet). Er bearbeitet Rasterbilder (Zuschneiden, Drehen, Spiegeln, Größe
ändern, Helligkeit, Kontrast, Schwarzweiß, Sepia, einen Bereich verpixeln oder weichzeichnen, Wasserzeichen) und
SVG-Zeichnungen (Formen, Pfade, Freihand, Text, Füllung und Kontur), und er kann für ein Bildattribut ohne Bild eine
neue SVG-Zeichnung beginnen. Er arbeitet ohne jQuery und unter der Content Security Policy der Administration. Er wird
im Repository des Kernels ausgeliefert, wie ezjscore und ezoe, und ist aus, bis er aktiviert wird; der
Setup-Assistent und der Kickstarter aktivieren ihn für eine neue Installation. Hinzugefügt in 6.0.15 (22.10.2026). Die
vollständige Referenz ist extension/expimageeditor/README.md der Erweiterung.
Einschalten
- In
settings/override/site.ini.append.php[ExtensionSettings] ActiveExtensions[]=expimageeditor. Schalten Sieezieaus: Beide ersetzen dasselbe Include voncontent/datatype/edit/ezimage.tpl. - Geben Sie Redakteuren die Richtlinie expimageeditor/edit (Administratoren mit
*/*haben sie). Ohne sie wird die Schaltfläche nicht angezeigt. php bin/php/ezpgenerateautoloads.php -e, die Caches leeren und mit--kernel --packerausrollen (neue Klassen, neue Skripte und Styles).
Verwenden
- Bearbeiten Sie in admin4 ein Objekt mit einem Bildattribut. Neben dem Bild Bild bearbeiten (oder Neue SVG-Zeichnung, wenn das Attribut noch kein Bild hat).
- Wählen Sie ein Werkzeug in der Werkzeugleiste; jedes Werkzeug hat eine Beschriftung, ein Tastenkürzel und ein Feld mit seinen Einstellungen. Die Pfeiltasten verschieben eine Auswahl, Escape fragt, bevor Änderungen verworfen werden, und der Fokus kehrt zur Schaltfläche zurück, wenn der Dialog schließt.
- Speichern legt das Ergebnis als Bild Ihres Entwurfs ab; das Formular zeigt das neue Bild ohne Neuladen. Die veröffentlichte Version behält ihr eigenes Bild, bis Sie den Entwurf veröffentlichen.
Was der Server beim Speichern prüft
- Sie sind angemeldet, der Entwurf ist Ihrer, und Sie dürfen das Objekt in der Sprache des Attributs bearbeiten
(wie
content/edites verlangt); die Anfrage trägt das Formular-Token der Sitzung (X-CSRF-Token). - Die Art bleibt gleich: Ein SVG bleibt ein SVG, ein Rasterbild ein Rasterbild. Der Typ wird am Inhalt erkannt und
muss in
expimageeditor.ini OutputMIMETypes[]undimage.ini AllowedMIMETypes[]stehen. - Grenzen: die maximale Dateigröße des Klassenattributs,
expimageeditor.ini MaxFileSize(20 MB) undMaxPixels(25 Megapixel) sowieimage.ini MaxImagePixels. - Ein Rasterbild wird neu kodiert: GD dekodiert es und schreibt es neu, sodass nur die Pixel gespeichert werden
(keine angehängten Daten, keine Metadaten). Die Kopie wartet in
<Cache-Verzeichnis>/expimageeditor/unter einem zufälligen Namen und wird am Ende der Anfrage entfernt.ReEncodeRaster=disabledschaltet das ab. - Ein SVG wird nur als Ausgabe von
expSvgSanitizergespeichert: kein Skript, kein Ereignisattribut, keinforeignObject, kein Verweis außerhalb der Zeichnung, keinjavascript:-Link.
Jede Ablehnung antwortet mit einem HTTP-Status und einer übersetzten Meldung, die der Editor in seiner Statuszeile zeigt.
Einstellungen
expimageeditor.ini [EditorSettings]: OutputMIMETypes[], Quality, ReEncodeRaster, MaxPixels,
MaxFileSize, NewDrawingSize, AspectRatios[], Watermarks[], Fonts[], TextToPaths. Die Tabelle mit jedem
Standardwert steht in der README der Erweiterung, „Settings“.
Sprachen und Designs
Englisch und Deutsch (extension/expimageeditor/translations/ger-DE/). Die Farben kommen aus den Tokens von admin4,
daher folgt der Dialog dem hellen und dem dunklen Thema. Nur admin4 (und admin4l) hat den Editor; die klassischen
Admin-Designs behalten ezie, der mit Exponential installiert wird (ezie, Installieren).
Tests
php vendor/bin/phpunit --testsuite expimageeditor (ohne Datenbank: die Prüfungen beim Speichern, das Neukodieren,
die Grenzen, der Sanitizer, das Formular-Token, Template und Skripte unter der Content Security Policy).