Pubblicato il 17/12/09 - aggiornato il  | 12 commenti :

Come inserire un link per stampare i post in un blog su Blogger.

Andare su Layout > Modifica HTMLsalvare il modello completo per un eventuale back-up e espandere i modelli widget. Cercare la seguente linea di codice
<div class='post hentry uncustomized-post-template'> cancellarla e sostituirla con la seguente
<div class='post hentry uncustomized-post-template' expr:id='"hentry-" + data:post.id' > dove è stata evidenziata di rosso la stringa che è stata aggiunta prima del tag di chiusura (>). Se non fosse presente questa riga ce ne sarà comunque una simile che inizierà con


<div class='post hentry


In questo caso occorre aggiungere, sempre prima del tag di chiusura della riga, la stringa


expr:id='"hentry-" + data:post.id' stringa-template
Adesso cercate questa parte di codice


</div>
<div class='post-footer'>



Ricordo che per cercare una riga in un modello basta pigiare su F3 o su Ctrl+F, alternativamente si può scaricare il modello e modificarlo offline con Notepad++.

Immediatamente sopra queste due righe va incollato il seguente codice



<a class='printer' expr:onclick='&quot;javascript:stampaPostCompleto(\&quot;hentry-&quot; + data:post.id + &quot;\&quot;, \&quot;Link: &quot; + data:post.url + &quot;\&quot;);&quot;'>Stampa il post</a> 


Al posto di "Stampa il post" si può mettere un'altra espressione come per esempio "Stampa la ricetta" se abbiamo un blog di cucina oppure "Stampa il documento". L'importante è di non inserire apostrofi: nel caso metteste "Stampa l'articolo" il link non funzionerebbe. Ecco il relativo screenshot
codice stampa
In un momento successivo, quando vedrete il link nel blog, può essere che si debbano fare delle modifiche di posizione a seconda dei modelli. In ogni caso va inserito nella parte finale del post; in quella zona ci possono essere anche i bottoni di voto sui social network e altre personalizzazioni analoghe quindi ciascuno si regola come meglio crede.
Adesso cercate la riga


]]></b:skin> 


e, immediatamente sopra, incollate quest'altro codice

a.printer {
cursor: pointer;
background: url(
http://lh4.ggpht.com/_fyUYhNUOXMw/Sg2XCP2OJaI/AAAAAAAAATo/vW0r9tXrpzU/printer.gif) no-repeat;
padding-left: 20px;
margin-right: 10px;
}

come mostrato nello screenshot seguente
codice-stampa
 L'URL presente nel codice fa riferimento a una icona di una stampante e i numeri in rosso ne fissano la posizione nel layout. Possono essere modificati in una fase successiva secondo l'esigenza di ciascun modello.
Adesso cercate la riga 

</head>


e, immediatamente sopra, incollate questo codice

<script>
  function stampaPostCompleto(divId,link) {
  var postContent = document.getElementById(divId).innerHTML;
  stampa(link+postContent);
  }

  function stampa(html) {
  var printWindow = window.open(&quot;&quot;,&quot;printPost&quot;,&quot;top=100,left=200,width=600, height=400,scrollbars=yes,status=no,menubar=no,toolbar=no,locations=no&quot;);
  printWindow.document.open();
  printWindow.document.write(&#39;&lt;a href=&quot;#&quot; onclick=&quot;window.print();&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/_fyUYhNUOXMw/Sg2XCP2OJaI/AAAAAAAAATo/vW0r9tXrpzU/printer.gif
&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;#&quot; onclick=&quot;window.print();&quot;&gt;Stampa il post&lt;/a&gt; &lt;br /&gt; &lt;br /&gt;&#39; + html);
  printWindow.document.close();
  }
  </script>



dove al posto di Stampa il post potete mettere Stampa la ricetta oppure Stampa tutto il post, ecc. Ricordarsi di non mettere apostrofi.
Il modello può essere salvato alla fine di tutte queste operazioni oppure di volta in volta che facciamo una modifica. Forse è preferibile la seconda opzione per essere sicuri di aver effettuato correttamente ciascun passaggio.
Alla fine del post comparirà una icona di una stampante con la scritta Stampa il post o un'altra analoga con la quale la avete sostituita. Date uno sguardo al mio vecchio blog di ricette "Cucina Toscana" per rendervi conto. In quel caso ho messo Stampa la ricetta

link-stampa-post

Se si clicca sul collegamento o sull'icona si aprirà una finestra popup con racchiuso l'intero articolo

popup-stampa-articolo

Nella finestra popup che si apre, nella parte alta, si vedrà nuovamente l'icona della stampante con il link Stampa il post (o analogo). Se un lettore del blog ci cliccherà sopra si aprirà la finestra di dialogo con la stampante che ha installato sul computer. Provare per credere! 
Questo fantastico metodo di inserire un link per stampare gli articoli è stato inventato da Iole di Iolecal.


12 commenti :

  1. Sei mitico!!!!!!!! detto fatto!! a parte che funziona, ovviamente, benissimo, è spiegato anche meglio. Io non ho parole per ringraziarti, non ci riuscirei nemmeno comprando una vocale.... :-)))
    veloce ed efficace come sempre.
    Ciao e grazie infinite.
    Sonia

    RispondiElimina
  2. @Sonia
    Sono contento che ti funzioni tutto a dovere.
    Con questo sistema si stampa anche la pubblicità se si ha all'interno del post.
    Guardo se trovo anche qualcosa di alternativo per altre esigenze.
    Ciao

    RispondiElimina
  3. Sono contenta anche io, infatti ho postato un ringraziamento pubblico sul blog, male che vada se c'è ancora qualcuno che non ti conosce,tipo in Francia, magari ora ti conoscerà.
    BUON NATALE A TUTTI
    Ciao, Sonia
    Ps. quanto prima visiterò il tuo sito mangereccio :-))

    RispondiElimina
  4. @Sonia
    C'è un blogger francese con cui mi sono scambiato diversi messaggi su Twitter e attraverso i rispettivi blog.
    Però è un caso isolato :)
    Il mio sito di ricette non è un granché, sia come grafica che come contenuti. E' il primo blog che ho creato esattamente il 28 Gennaio 2008, quindi anche se è modesto rappresenta sempre una tappa importante.
    Buon Natale anche a te.

    RispondiElimina
  5. Salve,
    innanzitutto complimenti per il tuo lavoro che offre spunti e propone soluzioni interessanti da cui anch'io ho attinto per realizzare il mio primo blog (il-poliedrico.blogspot.com).
    Ho qualche difficoltà con la routine di stampa: essa funziona egregiamente ma vorrei che non mi stampasse anche il footer della pagina e finora non sono riuscito nell'intento: ho provato a modificare la struttura della pagina attraverso il CSS (non capisco qui una cosa: il modello si chiama a.printer e viene chiamato come class='printer' ???) ma non ha sortito nessun effetto. Premetto che sono nuovo della programmazione dei CSS e in HTML, cerco solo di arrangiarmi :-)
    Grazie dell'aiuto che vorrai darmi, esporrò senz'altro il tuo link nel mio blog.

    RispondiElimina
  6. @Umby
    La a davanti alla classe printer sta a significare che è stata resa "più rigida" e funziona solo quando c'è un collegamento.
    Per quanto riguarda il tuo problema specifico consulta quest'altro post
    http://parsifal32.blogspot.com/2009/12/come-stampare-un-articolo-del-blog.html
    e prova a selezionare solo le parti dell'articolo che vuoi stampare.Per esempio non inserire #footer nel codice.
    Non sono sicuro che funzioni ma può essere una soluzione.
    Ciao

    RispondiElimina
  7. Grazie :-)

    purtroppo il risultato che speravo non c'è, anzi... mi terrò la vecchia soluzione nell'attesa di trovare qualcosa di nuovo: ho già in mente un paio di idee che nello spirito di un vecchio GNU condividerò con tutti, te per primo :-)
    Intanto già da domani provvederò a lincarti :-)

    RispondiElimina
  8. ho cercato la linea di codice senza nessun risultato. io ho 13 anni e uso l'accont di mio papà. ciao e scusa per i commenti inutili di ieri.

    RispondiElimina
  9. @Paduvino
    Prova con quest'altro metodo
    http://www.ideepercomputeredinternet.com/2009/12/come-stampare-un-articolo-del-blog.html
    Se hai tredici anni e pensi di creare dei blog ti faccio i miei complimenti perché sei veramente in gamba :)

    RispondiElimina
  10. Ciao ho seguito tutti i passaggi ma una volta che clicco non mi compare il popup. come faccio: blog: http://my-coloryourlife.blogspot.com/p/storia.html

    RispondiElimina
  11. @Manager
    Il post è vecchio e da allora il codice è cambiato e quindi non funzionerà più per quello.

    RispondiElimina

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.
Info sulla Privacy