Relazioni

Le pagine possono essere relazionate tra loro singolarmente o tramite categorie. Nel pannello, all'interno delle pagine, è presente la tab Relazioni che permette di associarle a delle opzioni di categorie, e di mostrare in quella pagina delle opzioni o delle pagine selezionate singolarmente.

Le relazioni sono utili per mostrare ad esempio dei contenuti correlati o per suddividere le pagine in modo diverso dalla gerarchia dell'albero padre-figlio. Inoltre associando le categorie alle pagine, è possibile creare poi un form di Ricerca categorie per filtrarle.

Estrarre le pagine delle opzioni da "Mostra Categorie"

Per estrarre le opzioni inserite nel campo "Mostra Categorie" di una pagina, è sufficiente utilizzare la posizione get_related_by_options() che ha come unico parametro obbligatorio content, ovvero il contenuto della pagina.

A questo punto per estrarre ogni pagina contenuta nelle varie opzioni è possibile eseguire un doppio ciclo in questo modo:

{% set related_options = get_related_by_options(content) %} {# Associo le opzioni alla variabile related_options #}
 
{% for option in related_options %} {# Ciclo tutte le opzioni #}
	{% for pagina in option.contents %} {# Estraggo le pagine contenute in ogni opzione con option.contents #}
		<h3>{{ pagina.title }}</h3>
	{% endfor %}
{% endfor %}

Estrarre le singole pagine da "Mostra Pagine"

Per estrarre le pagine inserite nel campo "Mostra Pagine" si può utilizzare la funzione get_related_by_pages() che ha come unico parametro obbligatorio content, ovvero il contenuto della pagina.

Questa funzione estrae un array di pagine che si possono estrarre con un ciclo di questo tipo:

{% set related_pages = get_related_by_pages(content) %} {# Associo l'array delle pagine alla variabile related_pages #}
 
{% for pagina in related_pages %} {# Estraggo le pagine dall'array #}
	<h3>{{ pagina.title }}</h3>
{% endfor %}

Estrarre le categorie associate alla pagina

Benché il campo "Associa categorie" è creato per definire a quali categoria una pagina è associata, e non quelle da mostrare, in SelfComposer è possibile estrarre anche queste con la funzione get_related() con unico parametro content con l'oggetto dei contenuti della pagina. Per estrarre le pagine di queste categorie il procedimento è lo stesso dell'esempio descritto precedentemente in Estrarre le pagine delle opzioni da "Mostra Categorie".