Sintassi di alcune espressioni di tag condizionali di Blogger.
Quando si vogliono introdurre dei vincoli su Blogger per mostrare un elemento solo in una determinata tipologia di pagine si usano i tag condizionali. Alle sintassi classiche di questo importante strumento di Blogger quali b:if , b:else sono state aggiunte altre espressioni come gli operatori AND, OR, NOT, ?, { } , elseif e expr.
In questo articolo prenderemo faremo ulteriori considerazioni su questi operatori proponendo anche alcuni esempi che possono facilitarne la comprensione. Il concetto è quello di impostare una condizione e di mostrare un contenuto solo se la condizione è vera. Nel caso in cui la condizione sia falsa possiamo non mostrare nulla oppure un contenuto alternativo.
TAG CONDIZIONALE B:IF
<b:if cond='condizione'>
[contenuto da visualizzare solo se la condizione è vera]
</b:if>
[contenuto da visualizzare solo se la condizione è vera]
</b:if>
TAG CONDIZIONALI B:IF / B:ELSE
<b:if cond='condizione'>
[contenuto da visualizzare se la condizione è vera]
<b:else/>
[contenuto da visualizzare se la condizione è falsa]
</b:if>
[contenuto da visualizzare se la condizione è vera]
<b:else/>
[contenuto da visualizzare se la condizione è falsa]
</b:if>
TAG CONDIZIONALI B:IF / B:ELSEIF
<b:if cond='CONDIZIONE1'>
[contenuto da visualizzare se la CONDIZIONE1 è vera]
<b:elseif cond='CONDIZIONE2'/>
[contenuto da visualizzare se la CONDIZIONE1 è falsa e la CONDIZIONE2 è vera]
</b:if>
[contenuto da visualizzare se la CONDIZIONE1 è vera]
<b:elseif cond='CONDIZIONE2'/>
[contenuto da visualizzare se la CONDIZIONE1 è falsa e la CONDIZIONE2 è vera]
</b:if>
TAG CONDIZIONALI B:IF / B:ELSEIF / B:ELSE
<b:if cond='CONDIZIONE1'>
<!-- codice da eseguire se la condizione1 è vera -->
<b:elseif cond='CONDIZIONE2'/>
<!-- codice da eseguire se la condizione1 è falsa e la condizione2 è vera -->
<b:else/>
<!-- codice da eseguire se entrambe le condizioni 1 e 2 sono false-->
</b:if>
<!-- codice da eseguire se la condizione1 è vera -->
<b:elseif cond='CONDIZIONE2'/>
<!-- codice da eseguire se la condizione1 è falsa e la condizione2 è vera -->
<b:else/>
<!-- codice da eseguire se entrambe le condizioni 1 e 2 sono false-->
</b:if>
TAG CONDIZIONALI XML
<b:switch var='ESPRESSIONE'>
<b:case value='VALORE1'/>
<!-- Vero se il VALORE1 è uguale a quello della espressione -->
<b:case value='VALORE2'/>
<!-- Vero se i valori precedenti non sono soddisfatti e se il VALORE2 è uguale alla espressione -->
<b:default/>
<!--Vero se tutti i casi precedenti non sono soddisfatti -->
</b:switch>
<b:case value='VALORE1'/>
<!-- Vero se il VALORE1 è uguale a quello della espressione -->
<b:case value='VALORE2'/>
<!-- Vero se i valori precedenti non sono soddisfatti e se il VALORE2 è uguale alla espressione -->
<b:default/>
<!--Vero se tutti i casi precedenti non sono soddisfatti -->
</b:switch>
Esempio:
<b:switch var='data:blog.isMobile'>
<b:case value='true'/>
<!-- Vero se la pagina è aperta con dispositivo mobile -->
<b:default/>
<!-- Vero se la condizione precedente non è soddisfatta -->
</b:switch>
<b:case value='true'/>
<!-- Vero se la pagina è aperta con dispositivo mobile -->
<b:default/>
<!-- Vero se la condizione precedente non è soddisfatta -->
</b:switch>
SINTASSI B:IF
<b:loop values='ARRAY' var='VARIABLE_NAME'>
<!-- blocco di codice da eseguire -->
</b:if>
<!-- blocco di codice da eseguire -->
</b:if>
Parametri aggiuntivi
<b:loop index='INDEX_NAME'
reverse='BOOLEAN'
values='ARRAY'
var='VARIABLE_NAME'>
</b:loop>
reverse='BOOLEAN'
values='ARRAY'
var='VARIABLE_NAME'>
</b:loop>
SINTASSI XML
<b:with value='EXPRESSION' var='VARIABLE_NAME'>
<data:VARIABLE_NAME/>
</b:with>
<data:VARIABLE_NAME/>
</b:with>
Parametri aggiuntivi
<b:with value='EXPRESSION'
var='VARIABLE_NAME'>
</b:with>
var='VARIABLE_NAME'>
</b:with>
SINTASSI B:EVAL
Questo tag non funziona nella sezione <b:skin> del modello. Si tratta di calcolare il risultato di una espressione. Questa è la sintassi
<b:eval expr='ESPRESSIONE'/>
e questi sono alcuni esempi
<b:eval expr='data:posts[0].labels[6].name'/>
Il risultato della espressione è la settima etichetta del primo articolo
<b:eval expr='(data:posts.length * 8) / 2'/>
Il risultato della espressione è il numero di articoli contenuto nella pagina corrente moltiplicato per 8 e diviso per 2
<b:eval expr='data:blog.pageName ? "Il nome di questa pagina e" + data:blog.pageName : "Questa pagina non ha nome."'/>
Il risultato della espressione è uno di questi due valori definiti.
Se è vero : "Il nome della pagina e NOME DELLA PAGINA"
Se è falso : "Questa pagina non ha nome"
Il risultato della espressione è la settima etichetta del primo articolo
<b:eval expr='(data:posts.length * 8) / 2'/>
Il risultato della espressione è il numero di articoli contenuto nella pagina corrente moltiplicato per 8 e diviso per 2
<b:eval expr='data:blog.pageName ? "Il nome di questa pagina e" + data:blog.pageName : "Questa pagina non ha nome."'/>
Il risultato della espressione è uno di questi due valori definiti.
Se è vero : "Il nome della pagina e NOME DELLA PAGINA"
Se è falso : "Questa pagina non ha nome"
ESPRESSIONI DI BLOGGER
Una espressione di Blogger è un codice specifico che viene inserito nel valore di un attributo di un tag HTML
<BALISE ATTRIBUT='EXPRESSION'>
....
</BALISE>
....
</BALISE>
Una espressione può essere composta da: operatori, dati di Blogger, insieme di caratteri. Il risultato della espressione può essere del tipo:
TIPO | SIGNIFICATO | VALORE |
string | una serie di caratteri | "string" |
boolean | un valore booleano | true | false | yes | no |
number | un valore numerico | 15 |
object | un oggetto | {"item1","item2","item3"} |
array[string] | una tabella di stringhe | ["string1","string2"] |
array[boolean] | una tabella di valori booleani | [true,false,true] |
array[number] | una tabella di numeri | [1,2,3,4,5] |
array[object] | una tabella di oggetti | [{object}] |
Esempio - Questa espressione
<div expr:class='data:blog.pageType in {"item","static_page"} ? "nomeclasse" : "index"'
expr:id='"p-" + data:blog.blogId"'
expr:style='"font-size: " + data:blog.isMobile ? 20 : 14 + "px;"'>
......
</div>
expr:id='"p-" + data:blog.blogId"'
expr:style='"font-size: " + data:blog.isMobile ? 20 : 14 + "px;"'>
......
</div>
nell'HTML produce questo risultato
<div class='nomeclasse'
id='p-5555555555'
style='font-size: 14px;'>
.....
</div>
id='p-5555555555'
style='font-size: 14px;'>
.....
</div>
CHARACTER DATA
Il Character DATA si usa come acronimo CDATA e indica la parte del modello XML che non deve venire analizzata. Questo tag viene usato per inserire il javascript direttamente nel modello di Blogger. Tale tag è fondamentale per poter inserire caratteri speciali quali <, >, ", ecc
<style>
span.post-author.vcard > span > a {display:none;}
</style>
span.post-author.vcard > span > a {display:none;}
</style>
Stesso codice precedente con CDATA
<style type='text/css'>
/* <![CDATA[ */
span.post-author.vcard > span > a {display:none;}
/* ]]> */
</style>
/* <![CDATA[ */
span.post-author.vcard > span > a {display:none;}
/* ]]> */
</style>
Nessun commento :
Posta un commento
Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.
Info sulla Privacy