Pubblicato il 08/02/11 - aggiornato il  | 1 commento :

Come mostrare l'intestazione nei post e un widget in homepage o viceversa.

In  un precedente articolo ho mostrato come si possa inserire un widget al posto della intestazione del blog. Nell'articolo prendevo in considerazione l'opzione di eliminare la vecchia intestazione per lasciare solo il widget che può essere formato da una immagine animata, da un effetto javascript, da uno slideshow o da qualunque altra cosa che sia possibile incollare in un gadget HTML/Javascript.

Se invece si volesse mostrare entrambe le cose ma in pagine diverse si può procedere in questo modo. Per chiarezza facciamo l'esempio che si voglia visualizzare una intestazione simile a quella standard nei singoli post, nelle etichette e nelle pagine di archivio mentre l'intestazione personalizzata vogliamo che risulti visibile solo in Homepage. Il codice della sezione dell'header avrà una struttura simile a questa

<div class='region-inner header-inner'>
      <b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='HTML1' locked='false' title='' type='HTML'>
<b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>  <b:include name='quickedit'/>
</b:includable>
</b:widget>

Dove il widget usato come intestazione inizia e termina con la righe evidenziate di rosso. In accordo con quanto specificato nell'articolo sui tag condizionali di Blogger, per mostrare il widget solo in Homepage si dovranno incollare le due linee di codice evidenziate con il colore rosso nella posizione indicata

<div class='region-inner header-inner'>
      <b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='HTML1' locked='false' title='' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>  <b:include name='quickedit'/>
</b:if>
</b:includable>
</b:widget>

Se vogliamo diversificare l'intestazione per esempio per i post, non dobbiamo fare altro che inserire un altro widget nello stesso punto. Potrebbe essere per esempio una semplice immagine con il codice

<a href=http://nomesito.blogspot.com/ title="Titolo" alt"Nome blog"><img src="URL IMMAGINE"></a>

da incollare in un elemento HTML/Javascript. Per vederla ovunque ma non in Homepage dobbiamo inserire le condizioni

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

rispettivamente subito dopo la riga <b:includable id='main'> e immediatamente prima del codice </b:includable>. Si possono naturalmente inserire tutte le condizioni che vogliamo riguardo alle pagine statiche o a quelle di archivio. Volendo si può inserire anche un terzo widget che sia visibile solo in un determinato tipo di pagine.





1 commento :

  1. qual'è il codice per far sparire un widget dalle pagine statiche? Non lo trovo più :(

    RispondiElimina

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.