Come creare una condizione per mostrare un widget, un CSS o un elemento solo nei post ma non nelle pagine statiche.
In un articolo di poco fa abbiamo utilizzato l'operatore logico OR per creare una condizione che servisse a mostrare un elemento di Blogger solo in due o più pagine e in questo post vedremo invece come visualizzare in widget solo negli articoli ma non nelle pagine statiche.
La costruzione di questa condizione non è solo una esercitazione a scopo euristico ma ha anche una sua precisa utilità pratica visto che questa personalizzazione mi è stata prospettata più volte nei commenti. Prima della introduzione dei nuovi operatori per inserire questa condizione si dovevano incollare una sopra all'altra due diverse condizioni.
Infatti la riga <b:if cond='data:blog.pageType == "item"'> non filtra solo i post ma anche le pagine statiche. Quindi per mostrare un elemento negli articoli ma non nelle pagine statiche dovevamo aggiungere anche la condizione <b:if cond='data:blog.pageType != "static_page"'>.
Vediamo adsso come riunire queste due condizioni con l'operatore logico AND. Per mostrare un widget solo nei post ma non nelle pagine statiche per prima cosa dobbiamo trovarne l'ID. Quindi, dopo aver salvato il template, si va su Modello > Modifica HTML e si cerca il codice del widget con Ctrl+F, digitandone il suo ID e pigiando su Invio.
Si scorre il codice del widget fino a trovare le righe <b:includable id='main'> e </b:includable> quindi, come mostrato nello screenshot, subito sopra alla seconda riga si incolla </b:if> mentre sotto la prima si incolla la condizione per mostrare il widget nei post ma non nelle pagine
<b:if cond='data:blog.pageType == "item" and data:blog.pageType != "static_page"'>
Si salva il modello. Con lo stesso principio e la stessa sintassi possiamo unire due condizioni con l'operatore AND in modo che questa sia vera quando lo siano entrambe. Ho anche testato l'utilizzo delle parentesi tonde o quadrate per creare delle condizioni più complesse che unissero gli operatori OR, AND e NOT ma purtroppo il test non è andato a buon fine.
È normale che sia così. Gli elementi item sono sia i post sia le pagine statiche quindi quando mette una sola condizione li comprende entrambi. Questa condizione doppia serve proprio per distinguere post da pagine statiche
RispondiElimina@#
Non possibile per le " Dimaniche", vero? Grazie
RispondiEliminaNon ho testato ma penso di no
Elimina@#
Le parentesi graffe servono per gli operatori in e contain quindi ho evitato di testarle per unire due o più condizioni
RispondiElimina@#