Questo tipo di personalizzazione è necessario quando si ha a che fare con annunci pubblicitari tipo Adsense ma può essere utilizzato anche in altri casi.
Per fare un semplice esempio in questo blog è presente un annuncio pubblicitario sulla sidebar di destra che è visibile solo nei post ma non in Homepage perché altrimenti si supererebbero i tre annunci che sono il limite massimo. E’ inoltre presenti un insieme di link di colore blu subito sotto alla Barra dei menù che si può vedere solo nei post per la stessa ragione di prima.
In alcuni blog potrebbe per esempio essere necessario visualizzare un elemento solo nella home e non nei singoli post. Penso p.e. ad una scritta di benvenuto, ad un orologio digitale o a qualcosa di questo tipo.
Come mostrare un elemento solo nei post e nelle pagine di archivio ma non in Homepage -
Le pagine di archivio sono quelle che appaiono quando si clicca su un’etichetta o su un mese del blog per vedere i post relativi.
Seguendo la falsariga di questo post in cui ho spiegato come ottimizzare i guadagni di Adsense occorre avere un riferimento sul widget che vogliamo nascondere in Homepage. Quindi, se non ha un nome come spesso succede, possiamo inserire un titolo provvisorio per poi toglierlo successivamente. Nel caso di un annuncio pubblicitario mettiamo Pubblicità. Adesso andiamo in Layout>Modifica HTML (è sempre meglio salvare il modello completo). Senza espandere i modelli widget cercate quello che ha il titolo appena dato
si vede che è il widget numero 20 (id=’HTML20’). Adesso si espandono i modelli widget e si cerca tutto il codice del widget in questione che sarà del tipo mostrato nel seguente screenshot
ciascun widget inizia con <b:widget …. > e finisce con </b:widget> ma ha al suo interno almeno due righe di codice di questo tipo
<b:includable id='main'> e
</b:includable>
Per mostrarlo solo nei post occorre inserire altre due righe di codice secondo questo schema
<b:includable id='main'>
<b:if cond='data:blog.url != data:blog.homepageUrl'>
. . . . . . . . . . . . . . . .
</b:if>
</b:includable>
come mostrato in questo screenshot
in cui sono state evidenziate le due righe aggiunte. Adesso si Salva il modello e si può togliere il titolo che avevamo inserito per evitare confusione tra i vari widget.
Come mostrare un elemento solo in Homepage ma non nelle pagine di archivio e nei singoli post -
Il procedimento è lo stesso e il codice varia di poco.
Andiamo in Layout>Modifica HTML e visualizziamo il widget che ci interessa quindi, dopo averne appreso il numero, espandiamo i modelli widget. Ci troveremo di fronte ad un codice simile al precedente che dovrà essere così modificato
<b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
. . . . . . . . . . . . . . . .
</b:if>
</b:includable>
dove le righe di codice aggiunte sono in grassetto e colorate di rosso.
Per vedere un elemento solo nelle pagine dei post ma non in Homepage e nelle pagine di archivio le due righe sono -
<b:if cond='data:blog.pageType == "item"'>
e
</b:if>
Per nascondere un elemento solo nelle pagine dei post ma visualizzarlo in tutti gli altri casi le due righe di codice sono le seguenti
<b:if cond='data:blog.pageType != "item"'>
e
</b:if>
ciao, finalmente sono riuscito a trovare quello che mi serviva, solamente che inserendo il codice per far visualizzare un widget solo nella home, ho come risultato lo stesso del primo esempio. (cioè sia nel primo che nel secondo caso, il widget in questione appare all'apertura di un post e nn alla home) mi sai aiutare?
RispondiEliminaCiao,
RispondiEliminaforse c'era un errore di copia-incolla. Con tutti 'sti codici è un vero casino;)).
Prova adesso ho inserito altre casistiche :)
perfetto! ora funziona alla grande. grazie mille! sei stato molto gentile!
RispondiEliminaPenso di aver fatto qualche casino con questa modifica e adesso non visualizzo più il collegamento "Post più vecchio" nella homepage (nel post si vede tutto). E' possibile?
RispondiElimina@federica
RispondiEliminaogni modello fa storia a sé e come scrivo sempre negli articoli è meglio salvare il template prima di fare delle modifiche. Il problema che hai mi sembra però strano rispetto alla personalizzazione che hai fatto.
Comunque si tratta sempre di due righe di codice che puoi sempre togliere se danno fastidio a qualcos'altro.
Ciao
Eh eh.. Non é cosí semplice.. Il modello lo salvo costantemente e anche se rispristino quello di un mese fa.. Il problema rimane... Proprio non capisco..
RispondiElimina@Federica
RispondiEliminaallora è un bug di Blogger che riguarda proprio il tuo blog. Non vedo altra spiegazione...
Utilissimo!! Era proprio ciò che cercavo!!
RispondiEliminaFatto...
RispondiEliminaMa grazie a te ...quanto sto diventando brava?Ora quando vado a modificare il codice html riesco a capire quello che c'è scritto...
GRAZIE
Parsifal ciao. Ma per nascondere un widget HTML/Java Sript aggiunto come gadget quindi non nell' HTML direttamente, il codice da usare qual'è?
RispondiEliminaCiao Parsifal, ma per nascondere un widget HTML/JavaScript aggiunto come gadget, quindi non direttamente nell'HTML, il codice da usare qual'è?
RispondiElimina@Vinnie
RispondiEliminaSempre lo stesso ma segui le istruzioni di questo post simile
http://www.ideepercomputeredinternet.com/2010/11/come-mostrare-o-non-mostrare-widget-in.html
I due tag condizionali vanno inseriti rispettivamente dopo la riga
<b:includable id='main'>
e prima dell'altra riga
</b:includable>
che sono sempre presenti nel widget. Bisogna solo cercare il suo ID nel modello.
scusa, ma nel mio blog esiste la riga (che vorrei apparisse ovunque ma non nella home), ,a non esistono successivamente gli script e
RispondiEliminascusate, non avevo espanso i modelli widget. Però ho notato che al posto widget rimane uno spazio. può essere cancellato?
RispondiElimina@PerlaValD'Orcia
EliminaTi ho già risposto nell'altro commento. Leggiti questo post
http://www.ideepercomputeredinternet.com/2012/02/come-eliminare-i-rettangoli-che-si.html
Ciao Ernesto! C'è un modo per nascondere determinati widget dalle sole pagine statiche?
RispondiElimina@# Devi inserire i due tag condizionali che servono in questo caso
Eliminahttp://www.ideepercomputeredinternet.com/2012/06/i-tag-condizionali-e-i-domini.html
@# Vuoi far apparire il widget nelle pagine del tipo
RispondiEliminahttp://nomeblog.blogspot.com/search/label/fotografi
oppure in tutti i post che abbiano fotografi come etichetta?
In ogni caso puoi risolvere usando i tag condizionali
http://www.ideepercomputeredinternet.com/2013/03/tag-condizionali-blogger.html
Nel primo caso usi la condizione
<b:if cond='data:blog.url == "URL_PAGINA"'>
dove al posto di URL_PAGINA inserisci l'indirizzo della pagina etichetta.
Nel secondo caso usi il tag condizionale
<b:if cond='data:blog.searchLabel == "NOME_ETICHETTA"'>
dove al posto di NOME_ETICHETTA metti quella che ti pare. Il questo secondo caso il widget sarà visibile nei post con quella data etichetta.