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://www.iolecal.it/blog/posts/post074/printer.gif) no-repeat;
padding-left: 20px;
margin-right: 10px;
}
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('<div onclick="javascript:window.print();"><img src="http://www.iolecal.it/blog/posts/post074/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://www.iolecal.it/blog/posts/post074/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
Copyright © Iole - Non è consentito ripubblicare, anche solo in parte, i post di questo blog senza l'esplicito consenso dell'autrice.
# IOLE (Ιόλη): Greek name derived from the word iole, meaning "violet." In mythology, this is the name of a woman loved by Herakles.
RispondiEliminaciao come sai già questo post è veramente completo.
RispondiEliminaposso 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
@vit: presto ti scriverò un post con tutte le istruzioni!
RispondiEliminaehi Iole,visto ke sei bravissima ti kiedo,magari lo hai anke scritto ma nn l'ho visto,
RispondiEliminase è possibile salvare un blog sul pc ,sempre se nn sia un'impresa ardua.........
grazie
Lella
@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.
RispondiEliminafatto anche questo!
RispondiEliminaGrazie..
@Ale: ormai sei diventata bravissima con l'html del blog!
RispondiEliminaciao Iole,
RispondiEliminaho ringraziato Tenebrae per questo suggerimento e ringrazio anche te!:-)
un saluto!
g
@Giovanna: prego!
RispondiEliminaSei una delle poche che ha seguito il Passo 6 consigliato da Tenebrae.
^_^
Mi aggiungo anche io al passo 6.
RispondiEliminaFinalmente 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.
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@Pietro: grazie per aver seguito il Passo 6 di Tenebrae e per i complimenti!
RispondiElimina@Elena: gironzola pure e per qualsiasi domanda contattami!
ciao iole!prima di tutto ti voglio fare i complimenti per il tuo bellissimo blog e ringraziarti per tutto quello che fai per noi!!
RispondiEliminaho 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!!
@nicole c: mandami via email il tuo template completo... durante la pausa pranzo ci lavorerò e appena pronto te lo rimando!
RispondiEliminagrazie mille!!!!!!!te l'o mandato via email,fammi sapere e grazie ancora!!!!!!
RispondiEliminaadesso è tutto ok iole,sei gentilissima,grazie per il tio aiuto!!!!
RispondiElimina@nicole c: per qualsiasi altro problema, non esitare a contattarmi ;)
RispondiEliminaSei un genio!!!!!! erano mesi che cercavo invano questa funzione!!!! Grazie mille.....
RispondiElimina@Claudia: prego! Vedo che questa funzione è molto ricercata dai blog di cucina.
RispondiEliminaCiao 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@Antonella: ho dato un'occhiata all'html del tuo blog, ogni post inizia con
RispondiElimina<div class='post-body entry-content'>
segui quindi le istruzioni riportate in questo post.
Se hai ancora problemi, contattami pure!
Iole sei gentilissima, ho riprovato ora ma purtroppo al momento di salvare mi compare questo messaggio:
RispondiEliminaNon è 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? :((
@Antonella: come ho detto anche a Nicole, mandami il tuo template completo via email che vedo cosa non va!
RispondiEliminaEccomi 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.
RispondiEliminaIncollando il tuo esempio e sostituendo così per intero la stringa, abbiamo risolto ;))
grazie infinite, tornerò presto per altre modifiche!
Buona giornata!
un'ultima cosa....cliccando su stampa, si apre la finestra, ma non compare il link del mio blog come agli altri...come mai?
RispondiElimina@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).
RispondiEliminaScusami Iole, ma intendi quello per i template con sezioni nascoste?
RispondiEliminaperchè ho provato ad inserire quello ma compare solo l'iconcina della stampante senza alcun post....
@Antonella: sì. Cmq se hai seguito tutte le istruzioni passo passo dovrebbe funzionare (sia che utilizzi questo metodo che l'altro).
RispondiEliminasi ma funziona benissimo...è solo che non compare il titolo della ricetta e il link del mio blog....ma va bene ugualmente, grazie mille! ;))
RispondiEliminaCiao arrivo da te tramite il blog "creareblog", ho aggiunto le tue indicazione e tutto funziona a meraviglia, grazie e a presto, roberta.
RispondiElimina@gturs: grazie per essere passata sul mio blog e per esserti aggiunta ai miei lettori!
RispondiEliminam dov'è la tau email??????????? io sono un pò accecata ma non la vedo, saresti gentile da inviarmela ? sempreviola@splinder.com
RispondiEliminaho una domandona da farti ...;O)
Grazie mille per il post :) Mi è stato molto utile!
RispondiEliminaCiao iole, ho provato a stampare un post ma il formato delle lettere è piccolissimo......sono una frana in queste cose, come posso fare per modificarlo?
RispondiEliminaUn grazie e un saluto, roberta.
@gturs: nel popup il carattere è normale, quindi anche in stampa dovrebbe essere così e non piccolissimo.
RispondiEliminaCiao Iole,
RispondiEliminami 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 :))
@parsifal32: grazie per i links... ne bastava anche solo uno ;)
RispondiEliminaCiao Iole, ti ho scoperto di recente passando da Tenebrae. Vedo che sei bravissima!! Allora ti chiedo subito aiuto, per favore.
RispondiEliminaVorrei 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
@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.
RispondiEliminaSe non hai ancora risolto il problema, mandami il tuo template completo via email che vedo cosa non va.
Ciao Iole.
RispondiEliminaGrazie 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
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
RispondiEliminaKatia
Ciao Iole, volevo solo segnalarti che a questa pagina..
RispondiEliminahttp://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.
@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.
RispondiElimina@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.
ciao iole, come mi ha suggerito ho rifatto tutti i passaggi per avere l'opzione stampa post. purtroppo ancora non funziona....
RispondiEliminagrazie per l'aiuto
manuela
@manu: sono stata sul tuo blog e ho controllato l'html.
RispondiEliminaIl 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.
Ciao Iole,
RispondiEliminagrazie 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????
@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.
RispondiEliminaRiprova a seguire passo passo tutte le istruzioni riportate in quest'altro mio post.