Da quando ho iniziato a bloggare ho sempre avuto lo stesso avatar ma la mia è sicuramente una eccezione perché è molto comune cambiare l'immagine del Profilo a intervalli più o meno regolari. Se poi le foto dei precedenti avatar venissero rimosse da Picasa, i vecchi commenti rimarrebbero senza immagine e avrebbero un aspetto decisamente antiestetico. L'idea di questo articolo è quella di modificare il codice del template in modo da mostrare sempre la stessa foto anche nei vecchi commenti a prescindere da tutte le variazioni intercorse nell'aspetto dell'avatar.
Va da sé che l'immagine potrà essere sempre modificata ma, quando lo faremo, apparirà comunque in tutti i commenti del blog. E' chiaro che questo hack serve soprattutto per coloro che avevano un avatar che adesso non è più confacente allo stile del blog e che vogliono modificarlo anche per quello che riguarda i commenti passati. E' altrettanto ovvio che questo vale solo per il nostro blog e non per gli altri siti in cui si è commentato.
Andate su Design > Modifica HTML e salvate il modello completo per un eventuale backup di ripristino. Dopo aver cliccato su espandi modelli widget cercate questo blocco di codice
<b:if cond='data:blog.enabledCommentProfileImages'>
<data:comment.authorAvatarImage/>
</b:if>
<data:comment.authorAvatarImage/>
</b:if>
E' presente sia nei nuovi template del Designer Modelli che in quelli vecchi. Va cancellato e sostituito con il seguente
<b:if cond='data:blog.enabledCommentProfileImages'>
<b:if cond='data:comment.authorUrl == "URL_PROFILO_BLOGGER"'>
<div class='avatar-image-container'>
<img src='URL_AVATAR' style='height:100%; width:100%;'/>
</div>
<b:else/>
<data:comment.authorAvatarImage/>
</b:if> </b:if>
Al posto di URL_AVATAR va inserito l'indirizzo della immagine che vogliamo visualizzare accanto a tutti i nostri commenti precedentemente caricata su Picasa. Mi voglio soffermare un attimo su URL_PROFILO_BLOGGER che può essere ricavato cliccando sul nostro Profilo e estrapolandone l'ID<b:if cond='data:comment.authorUrl == "URL_PROFILO_BLOGGER"'>
<div class='avatar-image-container'>
<img src='URL_AVATAR' style='height:100%; width:100%;'/>
</div>
<b:else/>
<data:comment.authorAvatarImage/>
</b:if> </b:if>
http://www.blogger.com/profile/XYZXYZXYZXYZXYZ
Il tag condizionale che si viene a formare insieme alla sua chiusura </b:if>, colorata di viola, serve solo per evitare che la nostra immagine vada al posto di altri commentatori che abbiano il nostro stesso nickname. Si tratta di una eventualità abbastanza remota ma non proprio impossibile. Non resta che salvare il modello e controllare che tutti i nostri commenti abbiano effettivamente la stessa foto. Nel caso di un blog collaborativo con due autori occorre sostituire le tre righe con quest'altro codice
<b:if cond='data:blog.enabledCommentProfileImages'>
<b:if cond='data:comment.authorUrl == "URL-PROFILO-BLOGGER-PRIMO-AUTORE"'>
<div class='avatar-image-container'>
<img src='URL_AVATAR_PRIMO-AUTORE' style='height:100%; width:100%;'/>
</div>
<b:else/>
<b:if cond='data:comment.authorUrl == "URL_PROFILO_BLOGGER_SECONDO-AUTORE"'>
<div class='avatar-image-container'>
<img src='URL_AVATAR_SECONDO-AUTORE' style='height:100%; width:100%;'/>
</div>
<b:else/>
<data:comment.authorAvatarImage/>
</b:if></b:if></b:if>
dove ci sono da sostituire gli URL dei due avatar e dei due Profili. <b:if cond='data:comment.authorUrl == "URL-PROFILO-BLOGGER-PRIMO-AUTORE"'>
<div class='avatar-image-container'>
<img src='URL_AVATAR_PRIMO-AUTORE' style='height:100%; width:100%;'/>
</div>
<b:else/>
<b:if cond='data:comment.authorUrl == "URL_PROFILO_BLOGGER_SECONDO-AUTORE"'>
<div class='avatar-image-container'>
<img src='URL_AVATAR_SECONDO-AUTORE' style='height:100%; width:100%;'/>
</div>
<b:else/>
<data:comment.authorAvatarImage/>
</b:if></b:if></b:if>
Aggiornamento: Nel caso non funzionasse questo sistema provate con la procedura illustrata nell'articolo
Ciao, era tanto che crcavo una dritta così, ma ho provato e non mi è cambiato nulla
RispondiElimina@Myro
RispondiEliminaProva a togliere questa riga
<b:if cond='data:comment.authorUrl == "URL_PROFILO_BLOGGER"'>
e una di queste
</b:if>
poi fammi sapere.
Ciao Parsi. :)
RispondiEliminaNon funziona nemmeno a me... Ho provato a togliere anche la stringa che hai suggerito di levare a @Myro ma non cambia nulla. Non visualizza ne la nuova immagine e ne la vecchia: vuoto.
Domani provo a caricare un'immagine di dimensioni esatte come riservato per l'avatar, in modo che non faccia il ridimensionamento; forse è per quello.
Ciao. :)
@LeNny
RispondiEliminaLa teoria è una cosa, la pratica è un'altra. Prova a cercare la riga
]]></b:skin>
e sopra aggiungi un codice come questo
/* Avatar */
.avatar-image-container img {
background:url(URL Immagine avatar);
width:45px;
height:45px;
}
Errata Corrige
RispondiEliminaNel primo commento ho consigliato l'eliminazione di un tag condizionale ma la soluzione è illogica perché il browser non riuscirebbe a distinguere il commento dell'autore del blog.
Nel secondo commento il codice serve solo nel caso in cui non sia presente la foto del commentatore o comunque che sia stata tolta.
Secondo errata corrige
RispondiEliminaNel commento precedente ho usato "sia" al posto di "fosse". Speriamo sia il caldo :D
Infatti, eliminando il tag condizionale da un errore nel modello. Proverò con calma a modificare l'altra stringa e vediamo.
RispondiEliminaNon è una modifica così importante, lo facevo anche per allenarmi con il codice. :D
Ti tengo aggiornato. GRAZIE.
Ciao.
P.S.: anche qui si schiatta dal caldo. :P
ciao,finalmente sono riuscita a trovare questo blog e quello che cercavo,però non riesco a capire dove sta l'errore,mi spiego ,ho copiato il secondo codice come spiegato da te perchè gli autori del blog siamo due, ho fatto questo nel mio blog di prova e funzionava perfettamente nel senso che, si leggevano i due nomi dell'autore a secondo di chi scriveva con relativo avatar,quando poi copio tutto nel blog ufficiale mi accorgo che mentre i nomi e l'avatar degli autori ci sono i nomi dei commentatori invece non ci sono più,rimane solo l'avatar e invece del nome rimane solo la scritta "ha detto" come mai? non sono riuscita a risolvere questo inghippo,mi puoi aiutare?
RispondiEliminaio non ho cambiato nulla del codice che tu hai creato.spero di essermi spiegata bene.
ciao
@franca
RispondiEliminaIl nome dell'autore del commento rimane sempre lo stesso. Puoi controllare anche in questo blog. All'inizio avevo il nick parsifal32 che poi ho modificato in Ernesto T. I vecchi commenti sono rimasti con il vecchio nick.
In quanto al fatto che mi dici essere addirittura scomparso il nome degli autori francamente non so dirti con certezza. Può darsi che due tag condizionali consecutivi non siano supportati dal tuo template.
Prova con quest'altro sistema
http://www.ideepercomputeredinternet.com/2011/07/come-visualizzare-la-stessa-foto-nei.html
non sono spariti i nomi degli autori cioè il mio e quello di mia figlia che siamo gli autori del blog,ma quelli di chi passava a commentare i nostri post.per adesso ho riportato tutto come all'origine e i nomi dei visitatori sono ricomparsi .ma a me piaceva questa cosa di distinguere i commenti degli autori da quelli dei visitatori,
RispondiEliminaciao
@franca
RispondiEliminaAllora è un altro discorso e forse ti potrebbe interessare questo post
http://www.ideepercomputeredinternet.com/2011/01/come-inserire-i-commenti-dell-del-blog.html
o quest'altro
http://www.ideepercomputeredinternet.com/2011/07/come-evidenziare-i-commenti-dell-del.html
Comunque quando gli autori sono due ci sono dei problemi visto che se ne può evidenziare solo uno.
ho provato ma mi funziona solo su un'autore invece con il codice dove si potevano inserire due-- URL -profilo-blogger-primo autore -e secondo autore e i due--Url-avatar-primo e secondo autore-- sia io che mia figlia,avevamo il commento con sfondo colorato e con la cornicetta però non leggevo i nomi dei visitatori,
RispondiEliminaforse bisogna modificare qualcosa in questo codice ma non sono riuscita a capire cosa.
@franca
RispondiEliminaSe non funziona ci deve essere qualche particolarità nel tuo modello perché il codice è stato testato e dovrebbe andare bene.
cosa posso fare allora?
RispondiElimina@franca
RispondiEliminaIl codice che mostra l'avatar dei commentatori è questo
<data:comment.authorAvatarImage/>
che come vedi è presente nella penultima riga.
Se ho capito bene, quando commentano persone diverse da te e tua figlia, questa stringa di codice non funziona perché non si vede niente.
Il codice è quello e non è che si può cambiare. Prova a vedere se ti è sfuggito qualcosa ...
ok grazie per la pazienza ora riprovo male che vada riporto tutto come prima.
RispondiEliminagrazie ciao
Perfetto e grazie, come sempre. :)
RispondiEliminaP.S.: Come URL dell'immagine ho usato quello interno di Blogger (ricavato dalla foto del mio profilo), perchè attraverso Picasa la foto non mi veniva scaricata
Buona giornata, Ernesto.
@dona
RispondiEliminabuona giornata anche a te
Mannaggia, nel giro di qualche ora il mio nuovo avatar è sparito dai vecchi post, lasciando al suo posto un quadrato nero col segnale di pericolo. Peccato.
RispondiEliminaGrazie mille, proprio quello che mi serviva!!!!! :)
RispondiElimina