Vetrine
Panoramica
Le vetrine permettono di mostrare i contenuti delle pagine ad esse associate. Una vetrina può essere inserita in una o più posizioni che devono essere definite dal designer.
Generalmente vengono usate in home.html per mostrare un elenco di pagine, ma possono essere associate anche ad altri contenuti del sito, o per inserire i contenuti in slider e caroselli. Inoltre nel Pannello è possibile aggiungere le pagine di una opzione di una categoria tramite il tasto "aggiungi categoria".
Per creare la posizione di una vetrina è necessario aggiungerla all’interno del file theme.php in modo da farla comparire all’interno della sezione Vetrine del pannello. In questa sezione è possibile creare una vetrina, modificarne i contenuti ed associarla ad una o più posizioni.
Implementazione
Creare una posizione per una vetrina
Per creare una nuova posizione per le vetrine è necessario inserirla nel file theme.php nell’oggetto showcases_positions
, associando il nome all’etichetta.
'showcases_positions' => [ 'NOME_POSIZIONE' => 'theme::common.showcases_positions.NOME_POSIZIONE', ],
Per cambiare l’etichetta della posizione della vetrina che verrà mostrata nel pannello, è necessario aggiungerla nei file di lingua common.php come proprietà dell’oggetto showcases_positions
'showcases_positions' => [ 'NOME_POSIZIONE' => 'ETICHETTA', ],
Estrarre una vetrina per posizione
Per richiamare la vetrina contenuta in una posizione, si utilizza la funzione showcase_position()
passando come parametro obbligatorio il nome della posizione.
{% showcase_position('NOME_POSIZIONE') %}
Questa funzione ritorna l’oggetto della vetrina, da cui si possono estrarre i seguenti parametri
nome | tipo | descrizione |
---|---|---|
id | string | Id della vetrina |
name | string | Nome della vetrina |
title | string | Titolo della vetrina |
description | string | Descrizione della vetrina |
contents | array | Array delle pagine contenute nella vetrina |
Cercare una vetrina tramite id
Nonostante sia più comune l’utilizzo delle posizioni, in quanto permettono modificare le vetrine associate direttamente dal pannello, è possibile richiamare una vetrina cercandola in base al suo id o al suo name.
{% find_showcase(id = 'ID_VETRINA', name = 'NOME_VETRINA') %}
Per ottenere correttamente la vetrina è possibile definire almeno uno dei due parametri id e name, la funzione ritornerà un oggetto uguale a quello ottenuto con la precedente funzione showcase_position()
e sarà quindi possibile utilizzare le stesse proprietà elencate qui sopra.
Nel caso in cui non vengano trovate vetrine che corrispondano ai parametri indicati, la funzione ritornerà il valore false.
Estrarre tutte le vetrine
Per ottenere tutte le vetrine create, anche quelle non assegnate ad una posizione, è possibile utilizzare la funzione
{% get_showcases() %}
Questa funzione ritorna un array contente gli oggetti delle vetrine, con gli stessi parametri indicati sopra.
Esempi
Mostrare i contenuti di una vetrina
Questo esempio permette di mostrare l’immagine principale, la descrizione e il titolo di tutte le pagine contenute in una vetrina associata ad una certa posizione.
{% set vetrina = showcase_position('vetrina_esempio') %} {% if vetrina %} <h2>{{ vetrina.title }}</h2> {% for content in vetrina.contents %} <div> {% if content.has_images %} {% set content_image = content.image %} <a href="{{ content.url }}"> <img src="{{ content_image.url }}" alt="{{ content_image.title }}"> </a> {% endif %} <h3>{{ content.title }}</h3> <p>{{ content.short_description }}</p> </div> {% endfor %} {% endif %}