WebBlocks CMS genera un insieme fisso di varianti di immagine di proprietà del prodotto da media pubblici JPEG, PNG e WebP. Gli editor continuano a gestire soltanto l'elemento multimediale originale; i file generati sono artefatti derivati della cache e non compaiono come record separati nella libreria.
Varianti di sistema
La configurazione media_transforms.php di proprietà del pacchetto definisce le varianti miniatura, scheda, contenuto responsive, hero e social. Queste definizioni fanno parte del comportamento del prodotto CMS. Questa versione non aggiunge intenzionalmente varianti definite dal progetto né una schermata di amministrazione per modificare dimensioni e qualità.
Le trasformazioni vengono generate al primo utilizzo e archiviate sul disco del media sorgente sotto media/transforms/{media_id}. L'impronta della cache include soltanto l'identità della sorgente rilevante per la trasformazione, le dimensioni, i dati MIME, il punto focale e la definizione della variante; le modifiche ai metadati editoriali non la invalidano. La sostituzione o l'eliminazione dei media e la modifica del relativo punto focale eliminano le trasformazioni obsolete. La schermata di modifica dei Media mostra le varianti esistenti senza generare i file mancanti e può eliminare e rigenerare esplicitamente ogni variante di sistema.
SVG e i formati raster non supportati utilizzano in sicurezza il proprio URL pubblico originale. I file originali non vengono mai sovrascritti. I file di trasformazione derivati non sono contenuti editoriali indipendenti e possono essere rigenerati dopo un trasferimento o un ripristino.
Flusso di lavoro editoriale
I media immagine mettono a disposizione un selettore del punto focale nella schermata di modifica dei Media. La posizione X/Y normalizzata selezionata guida le varianti di ritaglio, come miniatura, scheda, hero e social. Le varianti di contenimento mantengono le proporzioni originali.
La stessa schermata mostra l'anteprima di ogni variante di sistema. I selettori dei media usano la variante miniatura, mentre il blocco Immagine pubblico emette candidati srcset responsive a caricamento differito dalle varianti di contenimento.
Le varianti di contenimento mantengono le proporzioni e usano direttamente l'originale quando questo non è già più largo della variante richiesta. Le varianti di ritaglio calcolano un ritaglio della sorgente con le proporzioni configurate attorno al punto focale. Gli originali piccoli non vengono mai ingranditi: il rapporto di output configurato viene ridotto uniformemente per adattarsi alla sorgente, quindi ritagliato senza distorsioni.
Il markup di Immagine responsive e Galleria usa le dimensioni misurate del risultato, ordina i candidati per larghezza effettiva, rimuove gli URL duplicati e omette srcset a meno che non rimangano almeno due candidati distinti. Il valore sizes della Galleria segue il numero di colonne configurato. Le immagini social della pagina o del sito usano il ritaglio social per i metadati Open Graph e Twitter. card e hero rimangono riservati perché il pacchetto attuale non dispone di un campo della Libreria multimediale di prima classe per tali ruoli dei blocchi.
Ritagli mobili separati (1.91.0)
I blocchi Immagine, Diapositiva, Eroe, Sezione, Scheda, CTA, Intestazione contenuto ed Elemento elenco collegamenti possono selezionare un'immagine Mobile opzionale dal Catalogo multimediale. L'immagine mobile è un record multimediale editoriale separato, non una variante generata. Scegli un ritaglio dello stesso soggetto che si legge meglio su uno schermo stretto.
Il renderer pubblico lo seleziona con larghezze del viewport fino a 768 px e torna all'immagine predefinita quando la selezione mobile è mancante, privata o eliminata. Il testo alternativo, la didascalia, la posizione, l'adattamento, la sovrapposizione e i collegamenti rimangono condivisi sia nelle immagini che in tutte le impostazioni locali. Il Visualizzatore galleria del blocco Immagine apre l'immagine predefinita a piena risoluzione.
Gli strumenti API assegnano o deselezionano questa selezione con mobile_media_id; vedere Internal Content API. L'utilizzo dei media, il blocco della copia e l'esportazione preservano la relazione mobile-immagine. Gli elementi della galleria, i loghi, i video e l'audio non espongono questa selezione.
Requisiti di archiviazione e runtime
Le trasformazioni usano PHP GD e i dischi del filesystem Laravel. La generazione di JPEG, PNG e WebP dipende dal codec GD corrispondente. Se il formato sorgente o il codec di runtime non è disponibile, il rendering pubblico ripiega sull'URL del media originale invece di non riuscire.
Il canale alfa PNG viene mantenuto. Gli errori di decodifica, ridimensionamento, codifica e archiviazione rimuovono l'output incompleto e attivano un ripiego sicuro. ext-gd rimane facoltativo nella sezione suggest di Composer.
Gli operatori possono rigenerare tutte le immagini idonee in batch limitati, scegliere come destinazione un singolo id o eliminare in sicurezza le directory delle impronte obsolete senza alterare gli originali o le trasformazioni correnti:
php artisan webblocks:media-variants:regenerate
php artisan webblocks:media-variants:regenerate --media=123
php artisan webblocks:media-variants:regenerate --prune
La generazione è sincrona e intenzionalmente non richiede una coda. Le librerie di grandi dimensioni devono essere rigenerate durante una finestra di manutenzione.
La schermata Pulizia sistema riporta i byte della libreria multimediale originali separatamente dal conteggio e dai byte del file variante generato. L'anteprima di pulizia della variante generata include solo directory di impronte digitali obsolete; le varianti attuali e i file originali non sono mai candidati. La stessa schermata riporta anche il conteggio dei blocchi in tempo reale accanto all'ID di blocco più alto allocato in modo che un operatore possa distinguere il contenuto memorizzato dal normale abbandono con incremento automatico.