Pubblicato il 03/01/10 - aggiornato il  | 3 commenti :

Come inserire effetti e widget diversi in singole pagine dello stesso blog.

Nel momento in cui ho cominciato a scrivere su widget e effetti per un blog su Blogger mi sono dovuto confrontare con due esigenze contrapposte e non facilmente unificabili

  1. La necessità di mostrare ai lettori i widget e gli effetti presentati negli articoli del blog -
  2. L'impossibilità di caricare questo blog di tutti gli effetti e di tutti i widget che ho presentato -

La soluzione di questo problema sta nella creazione di blog di dimostrazione ma ha la controindicazione che spesso gli effetti sono incompatibili gli uni con gli altri come del resto anche i widget.

Ho quindi pensato di creare un blog di dimostrazioni che ho chiamato Pagine demo di Parsifal32 e nel quale caricherò tutti gli effetti e tutti i widget che andrò via via presentando.

Sfruttando la particolarità che ha Blogger di mostrare i widget e gli effetti in una sola pagina sarò in grado di caricare nel blog anche codici tra di loro in conflitto.

Se voi cliccate nella homepage di questo blog di demo non vedrete alcun effetto ma se andate su un singolo post potete vedere

  1. La neve che cade illustrata nell'articolo "Come inserire l'effetto della neve che cade" -
  2. La cascata di cuoricini illustrata nel post "Come inserire cuoricini animati per San Valentino" -

Questo metodo può essere usato anche in un blog non di prova quando si voglia mostrare un widget o un effetto in un singolo post. Come spiegato nell'articolo di cui al precedente link, nel momento in cui si inserisce un gadget o un effetto mediante l'aggiunta di un gadget HTML/Javascript, verrà a crearsi un widget che sarà numerato e potrà essere individuato anche dal nome che gli si è dato. Andando in Layout > Modifica HTML, dopo aver messo la spunta a espandi modelli widget si troverà un blocco di codice simile a questo

<b:widget id='HTML2' locked='false' title='cuoricini' 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>

che è stato possibile individuare immediatamente cliccando su F3 o Ctrl+F e digitando la parola cuoricini, di cui era il titolo. Per fare in modo che questo widget (in questo caso questo effetto) sia visibile solo in una singola pagina occorre inserire le due righe colorate di rosso

<b:widget id='HTML2' locked='false' title='cuoricini' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.url == &quot;http://demo-parsifal32.blogspot.com/2010/01/pagina-demo-dei-cuoricini-lampeggianti.html&quot;'>
  <!-- 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>

In buona sostanza sotto la riga <b:includable id='main'> si inserisce la riga

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

dove al posto di URL_del_POST si inserisce l'URL della pagina nella quale vogliamo che compaia. Da notare che vengono a riunirsi un apostrofo e due virgolette dopo POST. Mentre sopra la riga </b:includable> si inserisce il codice

</b:if>

Dopo aver salvato il modello la riga verrà automaticamente mutata da blogger con l'introduzione di &quot; all'inizio dell'URL e alla fine. Si tratta solo delle virgolette (") che sono state trasformate da HTML in XML. Se si vuole inserire un effetto in più di una pagina basta inserire altre due righe con altri URL.

Credo che questo sistema per inserire gadget o effetti in una singola pagina del blog non sarà utile solo a me per le demo degli articoli ma che potrebbe essere usato anche in moltissimi altri casi. Fatemi sapere cosa ne pensate di possibili altre applicazioni.





3 commenti :

  1. AH molto semplicemente se abbiamo messo una presentazione tipo slide show..la faremo visualizzare solo nella home!

    RispondiElimina
  2. Però io ne avevo usati più di uno di widget inteso solo in alcune pagine, ma ora che ho fatto il nuovo dominio non si vedono più. cosa può essere?

    Gabriele

    RispondiElimina
  3. @Gabriele Gualco
    Se ancora non è terminata la transizione può dipendere da quello. Bisogna considerare che adesso i vecchi post avranno degli URL diversi anche se con il redirect.
    Può essere che tu debba ripetere la procedura o che tu debba aspettare ancora un po'.
    Ciao

    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.