WebBlocks CMS erzeugt einen festen Satz produkteigener Bildvarianten aus öffentlichen JPEG-, PNG- und WebP-Medien. Editoren verwalten weiterhin nur das ursprüngliche Medienelement; erzeugte Dateien sind abgeleitete Cache-Artefakte und erscheinen nicht als separate Bibliothekseinträge.
Systemvarianten
Die paketeigene Konfiguration media_transforms.php definiert Varianten für Vorschaubilder, Karten, responsive Inhalte, Hero-Bereiche und soziale Medien. Diese Definitionen gehören zum Produktverhalten des CMS. Dieses Release fügt bewusst weder projektdefinierte Varianten noch eine Administrationsoberfläche zum Ändern von Abmessungen und Qualität hinzu.
Transformationen werden bei der ersten Verwendung erzeugt und auf dem Datenträger des Quellmediums unter media/transforms/{media_id} gespeichert. Der Cache-Fingerabdruck umfasst nur die für die Transformation relevante Quellidentität, Abmessungen, MIME-Daten, den Fokuspunkt und die Variantendefinition; Änderungen an redaktionellen Metadaten machen ihn nicht ungültig. Das Ersetzen oder Löschen von Medien sowie Änderungen am Fokuspunkt entfernen veraltete Transformationen. Die Medienbearbeitungsseite zeigt vorhandene Varianten an, ohne fehlende Dateien zu erzeugen, und kann alle Systemvarianten ausdrücklich löschen und neu erzeugen.
SVG und nicht unterstützte Rasterformate verwenden sicher ihre ursprüngliche öffentliche URL. Originaldateien werden niemals überschrieben. Abgeleitete Transformationsdateien sind keine eigenständigen redaktionellen Inhalte und können nach einer Übertragung oder Wiederherstellung neu erzeugt werden.
Redaktioneller Arbeitsablauf
Bildmedien bieten auf der Medienbearbeitungsseite eine Fokuspunkt-Auswahl. Die ausgewählte normalisierte X/Y-Position steuert Zuschneidevarianten wie Vorschaubild, Karte, Hero und soziale Medien. Einpassvarianten bewahren das ursprüngliche Seitenverhältnis.
Dieselbe Seite zeigt eine Vorschau jeder Systemvariante. Medienauswahlen verwenden die Vorschaubildvariante, während der öffentliche Bild-Block responsive, verzögert geladene srcset-Kandidaten aus den Einpassvarianten ausgibt.
Einpassvarianten bewahren das Seitenverhältnis und verwenden das Original direkt, wenn es bereits nicht breiter als die angeforderte Variante ist. Zuschneidevarianten berechnen um den Fokuspunkt herum einen Quellausschnitt mit dem konfigurierten Seitenverhältnis. Kleine Originale werden niemals vergrößert: Das konfigurierte Ausgabeformat wird gleichmäßig verkleinert, sodass es in die Quelle passt, und anschließend ohne Verzerrung zugeschnitten.
Das Markup für responsive Bilder und Galerien verwendet die gemessenen Ergebnisabmessungen, sortiert Kandidaten nach ihrer tatsächlichen Breite, entfernt doppelte URLs und lässt srcset weg, sofern nicht mindestens zwei unterschiedliche Kandidaten verbleiben. sizes der Galerie folgt der konfigurierten Spaltenanzahl. Seiten- oder Site-Bilder für soziale Medien verwenden den social-Zuschnitt für Open-Graph- und Twitter-Metadaten. card und hero bleiben reserviert, da das aktuelle Paket kein vollwertiges Medienbibliotheksfeld für diese Blockrollen besitzt.
Separate mobile Kulturen (1.91.0)
Image, Slide, Hero, Section, Card, CTA, Content Header und Link List Item kann ein optionales Mobile Image aus der Medienbibliothek ausgewählt werden. Das mobile Bild ist ein separater redaktioneller Mediendatensatz, keine generierte Variante. Wählen Sie einen Ausschnitt desselben Motivs, der auf einem schmalen Bildschirm besser lesbar ist.
Der öffentliche Renderer wählt es bei Ansichtsfensterbreiten von bis zu 768 Pixel aus und greift auf das Standardbild zurück, wenn die mobile Auswahl fehlt, privat ist oder gelöscht wird. Alternativtext, Beschriftung, Position, Passform, Überlagerung und Links bleiben für beide Bilder und alle Gebietsschemas gemeinsam. Der Galerie-Viewer des Bildblocks öffnet das Standardbild in voller Auflösung.
API-Tools weisen diese Auswahl mit mobile_media_id zu oder löschen sie; siehe Internal Content API. Mediennutzung, Blockkopie und Export bewahren die Beziehung zwischen Mobilgerät und Bild. Galerieelemente, Logos, Video und Audio machen diese Auswahl nicht sichtbar.
Speicher- und Laufzeitanforderungen
Transformationen verwenden PHP GD und Laravel-Dateisystem-Datenträger. Die Erzeugung von JPEG, PNG und WebP hängt vom jeweiligen GD-Codec ab. Wenn das Quellformat oder der Laufzeit-Codec nicht verfügbar ist, greift die öffentliche Darstellung auf die ursprüngliche Medien-URL zurück, statt fehlzuschlagen.
Der PNG-Alphakanal bleibt erhalten. Fehler beim Dekodieren, Skalieren, Kodieren oder Speichern entfernen unvollständige Ausgaben und lösen einen sicheren Rückgriff aus. ext-gd bleibt unter Composer suggest optional.
Betreiber können alle geeigneten Bilder in begrenzten Stapeln neu erzeugen, eine einzelne ID als Ziel angeben oder veraltete Fingerabdruckverzeichnisse sicher bereinigen, ohne Originale oder aktuelle Transformationen zu verändern:
php artisan webblocks:media-variants:regenerate
php artisan webblocks:media-variants:regenerate --media=123
php artisan webblocks:media-variants:regenerate --prune
Die Erzeugung erfolgt synchron und benötigt bewusst keine Warteschlange. Große Bibliotheken sollten während eines Wartungsfensters neu erzeugt werden.
Der Bildschirm „Systembereinigung“ meldet die ursprünglichen Bytes der Medienbibliothek getrennt von der Anzahl und den Bytes der generierten Variantendateien. Die Vorschau der Bereinigung generierter Varianten umfasst nur veraltete Fingerabdruckverzeichnisse. Aktuelle Varianten und Originaldateien sind niemals Kandidaten. Derselbe Bildschirm zeigt neben der höchsten zugewiesenen Block-ID auch die Anzahl der Live-Blöcke an, sodass ein Bediener gespeicherte Inhalte von der normalen automatisch inkrementierenden Abwanderung unterscheiden kann.