Pubblicato il 30/03/16e aggiornato il

Considerazioni aggiuntive sui tag condizionali di Blogger.

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>

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>

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>

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>

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>

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>

SINTASSI B:IF


<b:loop values='ARRAY' var='VARIABLE_NAME'>
  <!-- blocco di codice da eseguire -->
</b:if>

Parametri aggiuntivi


<b:loop index='INDEX_NAME'
        reverse='BOOLEAN'
        values='ARRAY'
        var='VARIABLE_NAME'>
</b:loop>

SINTASSI XML


<b:with value='EXPRESSION' var='VARIABLE_NAME'>
  <data:VARIABLE_NAME/>
</b:with>

Parametri aggiuntivi


<b:with value='EXPRESSION'
        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"

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>

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>

nell'HTML produce questo risultato

<div class='nomeclasse'
     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

Esempio - un CSS senza CDATA


<style>
span.post-author.vcard &gt; span &gt; a {display:none;}
</style>

Stesso codice precedente con CDATA

<style type='text/css'>
  /* <![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. Se ti ho aiutato con il post o con le risposte ai commenti condividi su Facebook o su Twitter. Grazie.