12 gennaio 2009

Visualizzare elementi diversi a seconda delle sezioni del blog

Diverse volte (anche nel precedente post, dall'autore del blog ASD Monteiasi Calcio) mi è stato chiesto come fosse possibile visualizzare un elemento solo nella pagina principale del blog e non nelle altre. Ho deciso quindi di spiegare in questo post come sia possibile nascondere o mostrare i vari elementi a seconda di dove ci si trova nel blog.

Può risultare utile per diversi motivi: ad esempio, su Creare blog determinati annunci AdSense sono visibili solo nella pagina del singolo post e non nella pagina principale. Oppure potremmo decidere di visualizzare elenchi di post, o slide di foto, solo nella pagina principale piuttosto che in quelle del singolo post.

Queste modifiche riguardano il template del blog, e quindi consiglio di farne il backup.

Individuare gli elementi da nascondere nel blog

Bisogna andare in Layout->Modifica HTML, e selezionare "Espandi modelli widget". A quel punto possiamo cercare gli elementi che vogliamo nascondere. Teniamo presente che i vari widget che aggiungiamo (ad esempio HTML/JavaScript, Elenco categorie, e così via), hanno sempre questa struttura:

 

<b:widget id='....' locked='....' title='....' type='...'>
<b:includable id='...'>
...

</b:includable>
</b:widget>

In base al valore di title (cioè il titolo che avete dato all'elemento) potete capire di quale elemento si tratta. Nel mio caso, l'elemento con la ricerca nel blog comincia con

<b:widget id='HTML3' locked='false' title='Cerca nel blog' type='HTML'>

e lo riconosco proprio dal titolo. Ovviamente potete usare anche le altre proprietà per individuare l'elemento, come il type (HTML, LinkList, e così via).

Tuttavia potete decidere non solo di nascondere widget ma anche intere porzioni di codice del template, come per l'appunto nel mio caso quelle in cui visualizzo alcuni annunci AdSense.

Visualizzare o nascondere un elemento solo nella sezione principale del blog

Individuate il codice che volete visualizzare nella pagina principale del blog, e racchiudetelo tra:

<b:if cond='data:blog.url == data:blog.homepageUrl'>

e

</b:if>

Nel caso di un widget, queste due porzioni di codice vanno inserite rispettivamente subito dopo <b:includable e subito prima di </b:includable>. Per tornare al mio esempio di prima, se volessi visualizzare la casella di ricerca solo nella pagina principale del blog il codice sarebbe il seguente:

<b:widget id='....' locked='....' title='....' type='...'>
    <b:includable id='...'>
        <b:if cond='data:blog.url == data:blog.homepageUrl'>
        ...
        </b:if>
    </b:includable>
</b:widget>

Cercando di rispettare  i tag HTML di apertura e chiusura: se sono presenti più sequenze di <b:includable e di </b:includable> dentro il codice di apertura e chiusura del widget, allora dovrete ripetere l'intervento. Ma in genere sono presenti una sola volta.

Se invece volete che il vostro elemento sia nascosto solo nella pagina principale del blog, il suo codice va racchiuso tra:

<b:if cond='data:blog.url != data:blog.homepageUrl'>

e

</b:if>

Attenzione: in questo caso le considerazioni vanno fatte sole sulla pagina principale del blog. Quando cliccate su una categoria, e vedete l'elenco dei suoi articoli, già non siete più nella pagina principale del blog. Se volete che un elemento sia visibile sia nella pagina principale del blog che in quelle delle categorie o delle ricerche, ma non nelle pagine dei singoli post, leggete quanto sto per spiegare.

Visualizzare o nascondere un elemento solo nelle pagine dei singoli post

Se volete che un elemento venga visualizzato solo nelle pagine dei singoli post, il suo codice va racchiuso tra:

<b:if cond='data:blog.pageType == &quot;item&quot;'>

e

</b:if>

Quindi nella pagina principale del blog e in quelle delle categorie non sarà visibile. Se viceversa volete che un elemento sia visibile sempre tranne che nelle pagine del singolo post, allora il suo codice va racchiuso tra:

<b:if cond='data:blog.pageType != &quot;item&quot;'>

e

</b:if>

Abbiamo così coperto le principali casistiche. Per chiarimenti o maggiori approfondimenti, lasciatemi un commento!

48 commenti:

  1. Ciao, è da poco che conosco il tuo blog e grazie alle tue spiegazioni sempre molto chiare sono riuscita a cambiare alcune cose sul mio!
    Ti ho appena linkato.

    Ciao
    Rosa

    RispondiElimina
  2. Ciao Tenebrae,

    La domanda non riguarda questo post, scusami ma il tuo è l' unico blog dove trovare migliori pareri al riguardo.

    Non so se sta capitando anche a voi, ma da circa 4-5 giorni i visitatori del mio blog sono diminuiti rispetto alla normale media, di conseguenza anche i guadagni, mentre poco prima andava tutto a gonfie vele. Potrebbe per caso dipendere dal recente aggiornamento di adsense (mi pare il 09-01)oppure è valido il discorso che hai fatto nel post "Cosa fare quando il nostro blog viene dimenticato da Google". Premetto che come hai consigliato in un altro tuo post, invio regolarmente la sitemap del mio blog.
    Potrebbe anche centrare in qualche modo questo file robots.txt per consentire a google di avere accesso a i miei crawler (ti ho postato la domanda come trovare e modificare questo file nel post "Segnalare la Sitemap del blog ai motori di ricerca")

    Ciao

    RispondiElimina
  3. Salve Tenebrae,non sono riuscito a modificare il template....mi esce questo errore:

    Il widget con ID HTML3 non è presente all'interno di una sezione (l'elemento principale effettivo è: b:if.) Ciascun widget deve trovarsi all'interno di una sezione.

    RispondiElimina
  4. Ciao!
    Dopo un paio di mesi che ti seguo (ti ho anche linkato sul mio blog), colgo l'occasione di farti anche io una domanda:
    Di tanto in tanto, mi è capitato di trovare delle immagini (sui blog di alcuni disegnatori) che, sulla pagina principale, vengono mostrate come cliccabili (compare la manina) ma poi non vengono aperte, pur essendo dei normalissimi file jpg.
    Si fa clic sull'anteprima e non succede nulla.
    Mi sai dire come mai?
    Vorrei evitare che capiti anche a me e mi piacerebbe sapere come anticipare il problema.

    Ti seguo con molto piacere e ti rinnovo il mio apprezzamento, per il tuo lavoro!
    Ciao!!

    RispondiElimina
  5. @asd monteiasi: caspita, hai ragionissima, ho commesso un errore, stasera aggiornerò il post!

    RispondiElimina
  6. @vinnie: non possiamo modificare il file robots.txt con le nostre mani, visto che viene gestito automaticamente da Blogger

    purtroppo anch'io ho avuto il tuo stesso problema, ma si è risolto da solo dopo qualche giorno, e sicuramente si, è dovuto alle modifiche fatte ultimamente agli algoritmi di google

    fammi sapere tra qualche giorno magari se risolvi

    RispondiElimina
  7. @federico: potrebbe dipendere da un milione di motivi!

    ma direi di non preoccuparti adesso della cosa: se ti succede, fammi sapere e vedremo assieme... tanto mi trovi sempre qui

    RispondiElimina
  8. OK..ti farò sapere..speriamo bene...

    RispondiElimina
  9. Ciao,
    molto interessante; nella parte finale dell'articolo in "Visualizzare o nascondere un elemento solo nelle pagine dei singoli post" c'è lo stesso codice sia nel caso si voglia visualizzare solo nel singolo post che nel caso non si voglia visualizzare nei post.
    Forse la seconda parte del codice è un disguido di copia incolla oppure c'è qualcosa che mi sfugge.
    Ciao di nuovo e complimenti per il blog, certamente il migliore in questo campo

    RispondiElimina
  10. Un post davvero utilissimo che indica esattamente su quali stringhe intervenire e permette di modificare il template in modo autonomo, evitando così l'intoppo di dover trovare il tutorial realizzato ad hoc; uno degli articoli più riusciti.
    Ottimo lavoro :)

    RispondiElimina
  11. Questa possibilità di manipolare il codice affiché alcune cose, appaiono solo in home o solo nel post è una grande cosa, la grande pecca è che Blogger considera come home anche le pagine delle etichette.

    RispondiElimina
  12. Ottimo blog-sito. Grazie per renderci edotti. A presto. Sabatino
    Ti seguo

    RispondiElimina
  13. @parsifal: vero, ho sbagliato anche qui, si vede che ieri sera avevo la testa altrove... o forse devo ancora entrare nell'ottica delle cose dopo le vacanze ;)

    ho corretto il post!

    RispondiElimina
  14. @boby: una cosa interessante che voglio provare prima o poi è quella di visualizzare determinati elementi a seconda della categoria in cui ci si trova... che ne pensi?

    RispondiElimina
  15. @sabatino: grazie e benvenuto nel blog!

    RispondiElimina
  16. Tenebrae non so come ringraziarti...grazie grazie grazie

    RispondiElimina
  17. Ciao Tenebrae,

    è da un po' che non ti stresso ;-).
    Grazie alla tua dritta il mio blog è tornato ai fasti di un tempo... si fa per dire.
    Per ringraziarti ho deciso di girarti due premi che, se non hai già ricevuto, potrai ritirare passando un attimo nel mio blog.

    Stammi bene.

    Forrest

    RispondiElimina
  18. non so se si può, però tu sei più esperto di me, magari trovi il modo e se ci riesci, passamelo subito :)

    RispondiElimina
  19. ciao Tenebrae,vorrei un altra info...per creare una barra di navigazione su due righe come si fa...mi spiego meglio se io voglio fare un bottone Classifica come dovrei procedere?
    &Risultati

    RispondiElimina
  20. Ciao, ho conosciuto il tuo blog tramite amiche che me l'hanno segnalato. Ultimamente abbiamo un problema tecnico che non riusciamo a risolvere: quando clicchi su "Layout" per modificare caratteri e colori del blog, appariva l'immagine in anteprima, così che potevi cambiare e vedere l'effetto che faceva. Ora l'anteprima scompare, così sono costretta a cambiare un colore alla volta, sbagliato e anche pubblicarlo, perché è l'unico modo per controllare una modifica!
    Ci potresti aiutare? Grazie per il tempo che ti sei comunque preso per leggermi!
    Claudia

    RispondiElimina
  21. Ciao Tenebrae,

    volevo chiederti se era possibile sostituire la dicitura Post più vecchi e Post più recenti con la numerazione dei post, o meglio delle pagine, in modo tale che i visitatori clicchino la pagina desiderata senza dover sfogliare tutto secondo l' ordine imposto dalla dicitura.

    Ciao

    RispondiElimina
  22. Esiste un modello a 3 colonne invece di due, in molti blog l'ho visto, ma non riesco a trovarlo tra i modelli standard, come devo fare?
    Grazie
    Roberto

    RispondiElimina
  23. @asd: presto pubblicherò altri post sull'argomento

    @claudia: questo problema può dipendere dai cookie, puoi provare a cancellarli... se non sai come fare fammi sapere

    @vinnie: ne parlerò presto, è già messo in scaletta

    @roberto: a quale modello ti riferisci? comunque ho pubblicato tempo fa una guida su come creare un template a 3 colonne, lo trovi qui

    RispondiElimina
  24. Sono felicissima che tu abbia risposto! Ho provato subito a eliminarli facendo STRUMENTI>ELIMINA CRONOLOGIA ESPLORAZIONI> ELIMINA COOKIE ma... nn funziona...ho sbagliato qualcosa o devo prendere un'altra strada?
    Grazie di cuore, Claudia

    RispondiElimina
  25. Grazie sono riuscito a creare le due colonne, devo solo riuscire a spostare la colonna dei post al centro e non ci riesco :( puoi aiutarmi?

    RispondiElimina
  26. Ma c'è un modo per nascondere dei post in modo che non vengono visualizzati nella ricerca ma solo quando vengono richiamati?

    RispondiElimina
  27. @claudia & company: su quale blog esattamente avete il problema?

    RispondiElimina
  28. Ciao Tenebrae, scusami se non ho risposto subito, ma sono stata assente qualche giorno! Noi abbiamo il problema sul blog "Casacuoricolori". Ho provato di tutto: l'unica cosa che ho ottenuto è che l'immagine sparisce dopo 8 sec (tanto che la prima volta ho pensato che funzionasse...)! Se hai un'idea...grazie ancora e buon week! Claudia

    RispondiElimina
  29. @claudia: che browser usi? hai provato a visualizzare il blog con un altro?

    RispondiElimina
  30. Ciao Tenebrae, uso Internet Explorer 7 e non ho mai avuto la possibilità di usarne un altro.Buona serata! Claudia

    RispondiElimina
  31. Sono ancora io! Ho pensato che ti fosse utile sapere che ho altri due blog, non collegati tra di loro e funzionano tutti.Per questo penso che non sia un problema di browser...ma non sono troppo esperta, anzi!! Ciao ciao, Claudia

    RispondiElimina
  32. Ciao Tenebrae!! Ho risolto il problema, avevi ragione tu sul browser: l'ho cambiato e con Mozilla funziona!! Sei geniale, grazie ancora e a presto!
    Claudia

    RispondiElimina
  33. Grazie alle tue indicazioni ho modificato un blog (che avevo creato) in questo modo:
    http://km-fesik2.blogspot.com/
    Il risultato non è male. L'indirizzo è momentaneo e fra poco lo bloccherò. Per il momento si ha libero accesso proprio per farti vedere il risultato.

    Giuliano
    (piccolo78.blogspot.com)

    RispondiElimina
  34. @giuliano: complimenti, ottimo effetto!

    RispondiElimina
  35. alla fine ci ho rinunciato,non sono riuscita a inserire lo sfondo come volevo io.non si ingrandisce,e non si centra,e di conseguenza si vede 1 volta e mezzo,così da non apparire simmetrico....pazienza.
    ma ho un problema:non trovo nessun elemento da aggiungere sulla barra laterale,per individuare al volo gli ultimi post.e così non so mai se qualcuno mi ha scritto,e dove.c'è qualcosa da poter incollare?

    RispondiElimina
  36. scusa,gli ultimi commenti,(che ultimi post???)
    poi,in alcuni blog ho visto una cosa carinissima.invece di un semplice elenco di nomi di blog e rispettivo lunk,c'è una fotina del post più recente,o l'avatar del proprietario del blog.ho cercato di aggiungere elementi che avessero funzioni simili,ma io non ne ho trovati.non è che puoi aiutarmi?

    RispondiElimina
  37. @amrita: mi dispiace per lo sfondo, ma l'unica in questi casi è provare a oltranza, finchè le cose non vanno come devono... spero sempre di essere chiaro nei post, ma mi rendo conto di avere anch'io i miei limiti

    onde evitare fraintendimenti, mi metti il link di un blog che ha l'elenco dei blog che dici?

    RispondiElimina
  38. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  39. Ciao Orazio, va un po' meglio?
    ...volevo solo augurare a te a alla tua famiglia una serena Pasqua!
    Claudia

    RispondiElimina
  40. Ciao Tenebrae la spiegazione è chiarissima, grazie.. e ti chiedo un approfondimento: è possibile scegliere il singolo post in cui visualizzare i widget?
    In pratica sto cercando di trasformare il mio blog in un sito statico e vorrei inserire elementi(html) differenti per ogni singolo post(!).. Hai qualche dritta?
    Ti ringrazio, ciao

    RispondiElimina
  41. Salve caro Orazio ^^

    sono un lettore del tuo blog da poco ^^
    ho trovato moltissime cose utili in questo blog e ti vorrei fare i miei complimenti ^^

    la cosa che mi chiedo.... a me servirebbe di visualizzare solamente un articolo nella mia "Home Page"
    ma non so come fare... ho provato con degli esempi qui ma nn riesco a trovare la cosa che mi serve ^^ potresti darmi una mano?

    Ti Ringrazio in anticipo

    PS: Il mio blog tratta del guadagno su internet... il progetto deve ancora partire... appena avrò gli articoli che pubblicherò farò una pagina per lo scambio di link... e sarei felice di inserire il tuo link ^^

    per ora ti do il link del mio blog così potrai vedere tu stesso di cosa si tratta ^^ se puoi gradirei commenti anche se è composto solamente da 2 articoli di prova...

    ecco il link http://ioguadagnosubito.blogspot.com/

    RispondiElimina
  42. Ciao, ti faccio i complimenti ammirato ancora una volta.. Qui, per pignoleria, dovresti ricordare ai meno esperti di cancellare la stringa che trovano prima, ma io sono molto contento di aver appreso questa tecnica, che aiuterà chi la usa a ottimizzare gli spazi nelle colonne... A presto G

    RispondiElimina
  43. Ciao, ti devo chiedere una cosa che forse ha che fare con l'argomento ma non ne sono sicuro. Ho aggiunto lo script per il feed flare. in parole povere sotto div class='post-footer' ora ho un pò di subscribe e ho spostato aanche il tuo link per stampare che mi sembrava stesse meglio nel post footer che sotto il body. il problema è che quando cambio pagina (come da tuo post coi numeri delle pagine) il feed flare non appare. c'è solamente nella prima pagina in parole povere. quale può essere il problema? Ciao grazie ancora

    RispondiElimina
  44. Ciao, sono appena passato da http://gabrielegualcoinviaggio.blogspot.com a http://www.gabrielegualco.eu.
    Lo shock è stato non tanto che non trovasse gli script su google sites, che ho provveduto a spostare su fileden, ma che non funziona questo sistema degli elementi. funziona per le colonne ma i widget non li fa neanche vedere col quick edit. Mi tocca trasferire i widget nell'html? Cambiando gli indirizzi verso gabrielegualco.eu mi sembra che la situazione non cambi, e non so che altro fare. Bisogna usare altri codici?

    Ciao Gabriele

    RispondiElimina
  45. Ok, ho trovato la soluzione, per quanto riguarda le etichette bisogna sostituire l'indirizzo precedente con quello nuovo e lasciare invariato /search/label etc. Ma se voglio nascondere un elemento in tutte le etichette come devo fare? <b:if cond='data:blog.url != e poi?

    RispondiElimina
  46. Questo commento è stato eliminato dall'autore.

    RispondiElimina

Nota. Solo i membri di questo blog possono postare un commento.