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 è sì!!!
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'>
<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://lh4.ggpht.com/_fyUYhNUOXMw/Sg2XCP2OJaI/AAAAAAAAATo/vW0r9tXrpzU/printer.gif) no-repeat;
padding-left: 20px;
margin-right: 10px;
}
cursor: pointer;
background: url(http://lh4.ggpht.com/_fyUYhNUOXMw/Sg2XCP2OJaI/AAAAAAAAATo/vW0r9tXrpzU/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('<div onclick="javascript:window.print();"><img src="http://lh4.ggpht.com/_fyUYhNUOXMw/Sg2XCP2OJaI/AAAAAAAAATo/vW0r9tXrpzU/printer.gif"/><div>' + html);
printWindow.document.close();
}
</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('<div onclick="javascript:window.print();"><img src="http://lh4.ggpht.com/_fyUYhNUOXMw/Sg2XCP2OJaI/AAAAAAAAATo/vW0r9tXrpzU/printer.gif"/><div>' + 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);
}
function stampaPostCompleto(divId,link) {
var postContent = document.getElementById(divId).innerHTML;
stampa(postContent+link);
}
Resto a disposizione per ogni dubbio e chiarimento.
Post correlati:
Come stampare i post di Blogger
Funzione per stampare solo alcuni post o porzioni di post
Come stampare i post di Blogger
Funzione per stampare solo alcuni post o porzioni di post
Questo blog è sostenuto dalle vostre donazioni spontanee e dai click
sugli sponsor. Se sei un frequentatore abituale del mio blog e
ritieni utile il lavoro che svolgo sostienimi come puoi. Grazie!
Iscriviti e gioca!
sugli sponsor. Se sei un frequentatore abituale del mio blog e
ritieni utile il lavoro che svolgo sostienimi come puoi. Grazie!
Iscriviti e gioca!
Copyright © Iole - Non è consentito ripubblicare, anche solo in parte, i post di questo blog senza l'esplicito consenso dell'autrice.

































47 commenti:
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
se è possibile salvare un blog sul pc ,sempre se nn sia un'impresa ardua.........
grazie
Lella
Grazie..
ho ringraziato Tenebrae per questo suggerimento e ringrazio anche te!:-)
un saluto!
g
Sei una delle poche che ha seguito il Passo 6 consigliato da Tenebrae.
^_^
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.
@Elena: gironzola pure e per qualsiasi domanda contattami!
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!!
<div class='post-body entry-content'>
segui quindi le istruzioni riportate in questo post.
Se hai ancora problemi, contattami pure!
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? :((
Incollando il tuo esempio e sostituendo così per intero la stringa, abbiamo risolto ;))
grazie infinite, tornerò presto per altre modifiche!
Buona giornata!
perchè ho provato ad inserire quello ma compare solo l'iconcina della stampante senza alcun post....
ho una domandona da farti ...;O)
Un grazie e un saluto, roberta.
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 :))
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
Se non hai ancora risolto il problema, mandami il tuo template completo via email che vedo cosa non va.
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
Katia
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.
@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.
grazie per l'aiuto
manuela
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.
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????
Riprova a seguire passo passo tutte le istruzioni riportate in quest'altro mio post.
Ti è stato utile il post? Allora lasciami un commento!