22 giugno 2009

47 commenti Condividi il post Facebook Twitter Google+

Come stampare i post di Blogger: nuovo script per stampare anche il titolo e il link del post

Come ricorderete qualche mese fa su richiesta di Francesca ho pubblicato il post Come stampare i post di Blogger: le funzioni javascript realizzate erano specifiche per il suo blog, nel senso che consentivano di stampare una ricetta (ossia solo una parte del post) oppure tutto il post.

Qualche giorno fa ho ricevuto una richiesta da Piero relativa allo script per la stampa dei post:

volevo chiederti se era possibile far stampare anche il titolo e il link del post

Ovviamente la risposta è !!!

Ecco quali modifiche bisogna apportare al template e quale funzione javascript utilizzare. Ovviamente le funzioni realizzate nel post Come stampare i post di Blogger continuano ad essere valide.

Come al solito, prima modificare il template fate il backup da Layout -> Modifica HTML -> Scarica modello completo.

Poi cliccate su Espandi i modelli widget e trovate la riga con il codice

<div class='post hentry uncustomized-post-template'>

Prima del carattere > aggiungete questa stringa:

expr:id='"hentry-" + data:post.id'

Quindi alla fine sarà così:

<div class='post hentry uncustomized-post-template' expr:id='"hentry-" + data:post.id' >

Poi trovate questa parte di codice:

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

e subito prima inserite il codice html per la funzione di stampa del post completo:

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

Se non avete già inserito la classe a.printer nel css, allora prima di ]]></b:skin> incollate questo codice:

a.printer {
cursor: pointer;
background: url(http://www.iolecal.it/blog/posts/post074/printer.gif) no-repeat;
padding-left: 20px;
margin-right: 10px;
}

Poi prima della riga </head> incollate questo codice javascript:

<script>
function stampaPostCompleto(divId,link) {
var postContent = document.getElementById(divId).innerHTML;
stampa(link+postContent);
}
function stampa(html) {
var printWindow = window.open("","printPost","top=100,left=200,width=600,height=400,scrollbars=yes,status=no,menubar=no,toolbar=no,locations=no");
printWindow.document.open();
printWindow.document.write('&lt;div onclick="javascript:window.print();"&gt;&lt;img src="http://www.iolecal.it/blog/posts/post074/printer.gif"/&gt;&lt;div&gt;' + html);
printWindow.document.close();
}
</script>

Salvate il modello e alla fine di ogni post vedrete il link "Stampa il post completo", come potete provare nel mio blog di prova, dove troverete anche il link "Stampa ricetta" e "Stampa il post".

Cliccando sul link "Stampa il post completo" si apre una finestra popup con il link, il titolo e il contenuto del post.



Se volete visualizzare il link in fondo alla pagina allora vi basta modificare la funzione stampaPostCompleto in questo modo:

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

Resto a disposizione per ogni dubbio e chiarimento.



Copyright © Iole - Non è consentito ripubblicare, anche solo in parte, i post di questo blog senza l'esplicito consenso dell'autrice.

47 commenti

  1. # IOLE (Ιόλη): Greek name derived from the word iole, meaning "violet." In mythology, this is the name of a woman loved by Herakles.

    RispondiElimina
  2. ciao come sai già questo post è veramente completo.
    posso aggiungere una cosa??
    come si fa ad aggiongere le iconcine dei socialnetwork??
    tipo queste:
    http://www.ilsole24ore.com/art/SoleOnLine4/Economia%20e%20Lavoro/2009/02/fiat-500-cabrio.shtml?uuid=cb0a230e-fcc7-11dd-9939-d20bfbbd468e&DocRulesView=Libero

    RispondiElimina
  3. @vit: presto ti scriverò un post con tutte le istruzioni!

    RispondiElimina
  4. ehi Iole,visto ke sei bravissima ti kiedo,magari lo hai anke scritto ma nn l'ho visto,
    se è possibile salvare un blog sul pc ,sempre se nn sia un'impresa ardua.........
    grazie
    Lella

    RispondiElimina
  5. @Lella: cosa intendi per "salvare un blog sul pc"? Blogger offre la possibilità di salvare tutto il codice html del tuo blog andando in Impostazioni -> Generale -> Strumenti del blog -> Esporta blog.

    RispondiElimina
  6. @Ale: ormai sei diventata bravissima con l'html del blog!

    RispondiElimina
  7. ciao Iole,
    ho ringraziato Tenebrae per questo suggerimento e ringrazio anche te!:-)
    un saluto!
    g

    RispondiElimina
  8. @Giovanna: prego!
    Sei una delle poche che ha seguito il Passo 6 consigliato da Tenebrae.
    ^_^

    RispondiElimina
  9. Mi aggiungo anche io al passo 6.

    Finalmente il post per stampare gli articoli in blogger che avevo chiesto nel sondaggio a Tenebrae.

    Complimenti. Ottimo blog (non riesco a trovare tempo per imparare/approfondire l'html) di riferimento del genere piattaforma blogger.

    RispondiElimina
  10. carissima e disponibilissima iole, ho fatto tutto con più calma e meno foga e voilà...funziona benissimo, ho anche aggiunto la funzione per stampare la ricetta con il titolo e link...gironzolo ancora un poco per il tuo blog in cerca di consigli preziosi...grazie mille ancora!!

    RispondiElimina
  11. @Pietro: grazie per aver seguito il Passo 6 di Tenebrae e per i complimenti!
    @Elena: gironzola pure e per qualsiasi domanda contattami!

    RispondiElimina
  12. ciao iole!prima di tutto ti voglio fare i complimenti per il tuo bellissimo blog e ringraziarti per tutto quello che fai per noi!!
    ho provato anche io a modifficare i codici html per poter inserire stampa il post pero' non ce' nulla da fare,dopo dieci tentativi mi da sempre questo messaggio:
    "Non è stato possibile visualizzare in anteprima il modello
    Correggi l'errore qui sotto, quindi invia nuovamente il modello.
    Non è stato possibile analizzare il tuo modello, in quanto non è strutturato correttamente. Assicurati che tutti gli elementi XML presentino il tag di chiusura richiesto.
    Messaggio di errore XML: Element type "div" must be followed by either attribute specifications, ">" or "/>"."
    ti prego mi puoi dare una mano,cosa devo fare perche vorrei tanto riuscire ad inserirlo anche io nell mio blog
    grazie!!

    RispondiElimina
  13. @nicole c: mandami via email il tuo template completo... durante la pausa pranzo ci lavorerò e appena pronto te lo rimando!

    RispondiElimina
  14. grazie mille!!!!!!!te l'o mandato via email,fammi sapere e grazie ancora!!!!!!

    RispondiElimina
  15. adesso è tutto ok iole,sei gentilissima,grazie per il tio aiuto!!!!

    RispondiElimina
  16. @nicole c: per qualsiasi altro problema, non esitare a contattarmi ;)

    RispondiElimina
  17. Sei un genio!!!!!! erano mesi che cercavo invano questa funzione!!!! Grazie mille.....

    RispondiElimina
  18. @Claudia: prego! Vedo che questa funzione è molto ricercata dai blog di cucina.

    RispondiElimina
  19. Ciao Iole, ho provato ad inserire questa funzione ma nel mio modello non ho trovato la prima riga di codice, come è possibile? Può dipendere dal fatto che è un modello già modificato? Ho aggiunto terza colonna e inserito i commenti sotto il post......

    RispondiElimina
  20. @Antonella: ho dato un'occhiata all'html del tuo blog, ogni post inizia con
    <div class='post-body entry-content'>
    segui quindi le istruzioni riportate in questo post.
    Se hai ancora problemi, contattami pure!

    RispondiElimina
  21. Iole sei gentilissima, ho riprovato ora ma purtroppo al momento di salvare mi compare questo messaggio:
    Non è stato possibile analizzare il tuo modello, in quanto non è strutturato correttamente. Assicurati che tutti gli elementi XML presentino il tag di chiusura richiesto.
    Messaggio di errore XML: Element type "div" must be followed by either attribute specifications, ">" or "/>".

    Cosa ho combinato? :((

    RispondiElimina
  22. @Antonella: come ho detto anche a Nicole, mandami il tuo template completo via email che vedo cosa non va!

    RispondiElimina
  23. Eccomi Iole ho appena risolto con l'aiuto di Claudia ( è lei che mi ha indirizzato qui) praticamente nel mio template la prima stringa: compare con l'ultimo simbolo(>) attaccato al precedente, senza spazio.
    Incollando il tuo esempio e sostituendo così per intero la stringa, abbiamo risolto ;))
    grazie infinite, tornerò presto per altre modifiche!
    Buona giornata!

    RispondiElimina
  24. un'ultima cosa....cliccando su stampa, si apre la finestra, ma non compare il link del mio blog come agli altri...come mai?

    RispondiElimina
  25. @Antonella: non compare il link perché hai utilizzato l'altro script che stampa solo il contenuto del post e non il post completo (con titolo e link).

    RispondiElimina
  26. Scusami Iole, ma intendi quello per i template con sezioni nascoste?
    perchè ho provato ad inserire quello ma compare solo l'iconcina della stampante senza alcun post....

    RispondiElimina
  27. @Antonella: sì. Cmq se hai seguito tutte le istruzioni passo passo dovrebbe funzionare (sia che utilizzi questo metodo che l'altro).

    RispondiElimina
  28. si ma funziona benissimo...è solo che non compare il titolo della ricetta e il link del mio blog....ma va bene ugualmente, grazie mille! ;))

    RispondiElimina
  29. Ciao arrivo da te tramite il blog "creareblog", ho aggiunto le tue indicazione e tutto funziona a meraviglia, grazie e a presto, roberta.

    RispondiElimina
  30. @gturs: grazie per essere passata sul mio blog e per esserti aggiunta ai miei lettori!

    RispondiElimina
  31. m dov'è la tau email??????????? io sono un pò accecata ma non la vedo, saresti gentile da inviarmela ? sempreviola@splinder.com
    ho una domandona da farti ...;O)

    RispondiElimina
  32. Grazie mille per il post :) Mi è stato molto utile!

    RispondiElimina
  33. Ciao iole, ho provato a stampare un post ma il formato delle lettere è piccolissimo......sono una frana in queste cose, come posso fare per modificarlo?
    Un grazie e un saluto, roberta.

    RispondiElimina
  34. @gturs: nel popup il carattere è normale, quindi anche in stampa dovrebbe essere così e non piccolissimo.

    RispondiElimina
  35. Ciao Iole,
    mi sono permesso di riprendere questo tuo post nel mio blog. L'articolo relativo lo puoi trovare qui
    Ti ho messo tre link ma forse te ne meritavi anche di più :-)
    A risentirci :))

    RispondiElimina
  36. @parsifal32: grazie per i links... ne bastava anche solo uno ;)

    RispondiElimina
  37. Ciao Iole, ti ho scoperto di recente passando da Tenebrae. Vedo che sei bravissima!! Allora ti chiedo subito aiuto, per favore.
    Vorrei inserire la possibilità di stampare ma ho trovato grosse difficoltà. Sul blog di prova (http://ambra-provablog.blogspot.com/) non trovo la scritta div class='post hentry', ma solo div class='post'. Devo aggiungere qui hentry e il resto?
    Invece nel blog dove ho bisogno di inserire la funzione stampa (http://newsdalmondoseneca.blogspot.com/) trovo tutto, ma mi impedisce di salvare con il messaggio: errore XML: Element type "div" must be followed by either attribute specifications, ">" or "/>".
    Ho provato mille volte, controllato. Niente da fare. Mi puoi aiutare? Grazie. Ciao. Ambra

    RispondiElimina
  38. @Ambra: scusa se rispondo con così tanto ritardo ma al momento sono molto impegnata e purtroppo non sempre riesco a rispondere in tempi brevi alle richieste dei miei lettori.
    Se non hai ancora risolto il problema, mandami il tuo template completo via email che vedo cosa non va.

    RispondiElimina
  39. Ciao Iole.
    Grazie per la tua risposta. Sono già riuscita a inserire la funzione stampa il post in tutti i blog, non so nemmeno più come ho fatto, ma grazie mille lo stesso.
    A presto-
    Ambra

    RispondiElimina
  40. ciao iole, sono una blogger nuova nuova e sto tentando di far diventare un pò più bello la mia creatura. il tuo blog è utilissimo ma io sono veramente un pò imbranata, seguo i tuoi consigli ma mi riesce poco o niente: volevo cambiare la favicon, ho fatto tutto come hai spiegato tu ma NIENTE!! oggi ho provato a mettere la funzione stampa post e ANCORA NIENTE!! uffa mi sento una frana :( mi puoi aiutare tu??? grazie in anticipo
    Katia

    RispondiElimina
  41. Ciao Iole, volevo solo segnalarti che a questa pagina..
    http://creareblog.blogspot.com/2009/07/aggiungere-un-link-per-stampare-il-post.html

    vengono riportati le tue istruzioni per stampare ed anche in fondo dice..ringraziare Iole è suo ecc.
    Però i codici riportati specialmente nel ..div class hentry... è incompleto.

    Io ho trovato prima quello diciamo errato e poi il tuo ed ho notato la differenza infatti con quell'altro non funziona perhcè non sai esattamene dove inserire in quanto non riporta il coman do da cercare completo ovvero non menziona.....uncostumized ecc.
    Se il comando da aggiungere finische con hentry...messo subito dopo NON va bene. Inoltre il comando con lo fino ..hentry..non cè.
    Grazie ma volevo segnalartelo visto che dice è tuo almeno lo copi esatto. Ritengo meglio lo faccia tu a meno che non mi dici di dirglielo io.
    Ciao
    Edvige
    Scusa ma non ho messo l'email tu la conosci già ti ho mandato un messaggio.

    RispondiElimina
  42. @k@tia: mandami il tuo template completo via email che appena posso gli do un'occhiata e aggiungo il codice per la funzione di stampa.
    @Edvige: non ho ben capito qual è il problema. In genere Tenebrae è sempre preciso e chiaro nelle spiegazioni e raramente commette errori. Io non ho controllato il codice che ha scritto. Se hai notato qualche errore, contattalo pure; come me anche lui ringrazia sempre i lettori che segnalano errori e imprecisioni.

    RispondiElimina
  43. ciao iole, come mi ha suggerito ho rifatto tutti i passaggi per avere l'opzione stampa post. purtroppo ancora non funziona....
    grazie per l'aiuto

    manuela

    RispondiElimina
  44. @manu: sono stata sul tuo blog e ho controllato l'html.
    Il link di stampa non funziona perché manca l'id del post da stampare.
    Se mi mandi il tuo template competo via email, ti dico esattamente cosa modificare.

    RispondiElimina
  45. Ciao Iole,
    grazie dei numerosi consigli. io però ho fatto tutto quello che hai scritto ma non è successo niente, sicuramente è colpa mia perchè è da poco che ho aperto il blog e sono un pò imbranata. Cosa posso aver sbagliato????

    RispondiElimina
  46. @Marta: dovrei controllare attentamente il codice html del tuo template per capire cosa hai sbagliato ma in questo momento ho tante richieste e poco tempo a disposizione quindi mi sto dedicando solo a coloro che mi hanno già fatto una donazione.
    Riprova a seguire passo passo tutte le istruzioni riportate in quest'altro mio post.

    RispondiElimina

Se volete sostenere il mio blog, visitate questi siti. Grazie!
Licenza Creative Commons This blog by Iole is licensed under a Attribution-NonCommercial-NoDerivs 3.0 Unported License.
Copyright © 2008- iolecal.blogspot.it|Design by Iole|Privacy Policy