Gestione file
Panoramica
I file caricati nel pannello di SelfComposer possono essere gestiti nella sezione Gestione File che comprende "File pubblici", ovvero quelli caricati nel pannello e accessibili a tutti, e "File degli utenti" che sono invece i file caricati da chi naviga il sito attraverso il form contatti. Ad ogni file può essere associato un titolo, diverso per ogni lingua.
Impostazioni per le immagini
Le immagini caricate in SelfComposer possono venire ricampionate in base ai settaggi scelti in Impostazioni > Generali > Immagini del pannello. Qui è possibile inserire una dimensione massima per i file, definita in pixel e valida per il lato più lungo dell'immagine caricata: un'immagine di dimensioni maggiori verrà ridotta a questo valore, in proporzione.
C'è inoltre la possibilità di ricampionare le immagini in base a dei preset predefiniti. Una volta impostato il nome e le dimensioni di un ricampionamento, verrà creata una copia ridimensionata di tutte le immagini caricate successivamente, accessibile tramite la funzione resized_url('NOME_RICAMPIONAMENTO')
. È anche possibile, spuntando la casella "Crop", forzare il ridimensionamento alle dimensioni date ritagliando l'immagine rispetto al suo centro.
Implementazione
Ogni file o immagine è inseribile in vari modi in un tema:
- Come una delle immagini della pagina (principale, secondaria, icona)
- All'interno della descrizione
- In una form pagina con campo "file"
- In una gallery
- Come contenuto di una vetrina
- Come contenuto di una Categoria o di una sua opzione
- Nelle impostazioni tema con un campo file
- Direttamente all'interno del tema (come descritto successivamente)
Estrarre un file all'interno del tema
Se si vuole estrarre un file che non è associato ad altre funzionalità, è possibile utilizzare la funzione find_file()
che accetta, nell'ordine, i seguenti parametri:
nome | tipo | descrizione | valore di default |
---|---|---|---|
id | int | Id del file | null |
name | string | Nome del file | null |
path | string | Percorso del file | null |
È possibile anche estrarre più file in base a una cartella o al tipo, utilizzando la funzione get_files()
con parametri:
nome | tipo | descrizione | valore di default |
---|---|---|---|
folder | string | Il nome della cartella da estrarre | null |
type | string | Il tipo di file ("public" , "restricted" , ecc) | null |
Queste funzioni estraggono l'oggetto di tipo File
che contiene:
nome | tipo | descrizione |
---|---|---|
id | string | Id dell'immagine |
title | string | Titolo dell'immagine nella lingua attiva (non presente nell'array) |
url | string | URL assoluto dell'immagine (da http…) |
folder_id | string | Id della cartella |
name | string | Nome del file dell'immagine |
kind | string | Può essere public o private a seconda se l'immagine è parte o meno dei file dell'area riservata |
extension | string | Estensione dell'immagine, ad esempio "jpg" |
mimetype | string | Tipo mime dell'immagine, ad esempio "image/jpg" |
thumb | string | Nome del file thumbnail generato (una versione compressa e rimpicciolita dell'immagine originale) |
size | string | Peso in byte dell'immagine |
token | ||
sequence | string | |
created_at | string | Data di caricamento dell'immagine |
updated_at | string | Data di ultima modifica dell'immagine |
Per estrarre invece l'URL per il download di uno o più file, è possibile utilizzare la funzione files_download_url()
con i parametri:
nome | tipo | descrizione | valore di default |
---|---|---|---|
ids | string o array | L'id del singolo file o l'array con gli id dei file da estrarre | obbligatorio |
params | array | Parametri per filtrare i risultati: kind , item , type , ids , file_name | [] |
Estrarre immagini ricampionate
Le immagini possono essere ricampionate secondo i diversi settaggi inseriti in Impostazioni > Generali > Immagini. L'URL dei file ricampionati è accessibile tramite il metodo resized_url()
che ha come unico parametro obbligatorio il nome del ricampionamento. Ad esempio per estrarre l'URL dell'immagine principale di una pagina, ricampionata con una dimensione chiamata "small", scriveremo:
{{ content.image.resized_url('small') }}
se invece si vuole ricampionare un file al momento del caricamento della pagina, metodo sconsigliato in quanto aumenta i tempi di caricamento, è possibile utilizzare il filtro resample.