Farrago recent comments hack

Home » Tutorials for Blogging » Farrago recent comments hack

Una cosa di cui molti sentono la mancanza su Blogger è la lista degli ultimi commenti.
Spulciando in giro ho trovato un hack che fa al caso nostro, l’ho provato e devo dire che funziona molto bene!
Qua trovate le istruzioni per installarlo e il codice modificato apposta per i miei templates:

Grazie per lo script a: BloggerHack

Cambiare il settaggio dell’ora!

Questo è un passo molto importante per far funzionare correttamente lo script!

Prima di installare alcun che dovete :
- entrare nel pannello di controllo del vostro blog
- cliccare su impostazioni
- cliccare su commenti
- andare alla voce Formato ora commenti
- impostare tale voce in questo formato gg/mm/aaaa hh:mm:ss (es. 31/01/2006 08:55:32 PM)
- salvare impostazioni

Installare lo script nel codice

Ora, sempre dal vostro pannello di controllo andate su modello.
Scegliete dove inserire il vostro codice.
Suggerirei di metterlo ad esempio sotto Previous Entries.
Quindi cercate questo pezzo di codice:

<div class="boxmenu">
			                   
<div class="voicemenu">
				
   Previous entries
                      
</div>
						               
<ul> 
<bloggerpreviousitems><li>
<a href="<$BlogItemPermalinkURL$>">< $BlogPreviousItemTitle$></a>
</li></bloggerpreviousitems>
</ul>	

</div>

Ora copiate ed incollate esattamente sotto il questo codice :


<!-- **** FARRAGO RECENT COMMENTS HACK **** -->
<!-- Version 1.03 -->
<!-- Copyright © 2004 Ebenezer Orthodoxy -->
<!-- http://boggerhacks.blogspot.com -->
<!-- Modified version by Cristina for Pannasmontata Templates -->
<!-- http://pannasmontata-templates.net -->
<!-- ************** OPTIONS *************** -->

<script type="text/javascript" language="JavaScript1.2">
var titleText = "Recent Comments";
var numberToShow = 5;
var displayTemplate = "[name] in [title]";
var nameIsLink = true;
</script>
<!-- ********* CODE DO NOT CHANGE ******** -->
<script type="text/javascript" language="JavaScript1.2">
var comments=new Array(0);var title = "";
var itemurl = "";
function getSortDate(strDate){var d=new Date(strDate);
var day=''+d.getDate();if(day.length==1)day='0'+day;
var month=''+(d.getMonth()+1);if(month.length==1)
month='0'+month;var hour=''+d.getHours();
if(hour.length==1)hour='0'+hour;var min=''+
d.getMinutes();if(min.length==1)min='0'+min;var sec=''+
d.getSeconds();if(sec.length==1)sec= '0'+sec;
var sortDate=''+d.getFullYear()+month+day+hour+min+sec;
return sortDate;}
function recentComment(t,u,i,a,d){var rcmnt=
document.getElementById('frch'+i).innerHTML;
while(rcmnt.indexOf("\n") > -1)rcmnt=
rcmnt.replace("\n","");while(rcmnt.indexOf(" />") > -1)
rcmnt=rcmnt.replace(" />","/>");
while(rcmnt.indexOf(" <a/>") > -1)rcmnt=
rcmnt.replace(" <a/>","<a/>");var author=a;var pos=
rcmnt.toLowerCase().lastIndexOf('<br><a></a>posted by');
var pos2=
rcmnt.toLowerCase().lastIndexOf('<br><a></a><a></a>');
var pos3=
rcmnt.toLowerCase().lastIndexOf('<br/><a/><a/>');
var pos4=
rcmnt.toLowerCase().lastIndexOf('<br/><a></a><a></a>');
var aoffset=pos+6;if (pos3 > -1) pos2=pos3;
if (pos4 > -1) pos2=pos4;
if (pos2 > -1){pos=pos2;aoffset=
rcmnt.toLowerCase().lastIndexOf('<a><b> </b></a>');
if (aoffset==-1)aoffset=
rcmnt.toLowerCase().lastIndexOf('<a><b></b></a>')-1;}
if (pos > -1){author=
rcmnt.substr(aoffset+15,rcmnt.length-1);var expt="";
expt=rcmnt.substr(0,pos-4).replace(/(<([^>]+)>)/ig,"");}
else expt=rcmnt.replace(/(<([^>]+)>)/ig,"");
author=author.replace("<A ","<a ");
if (expt.length > 50){expt=expt.substr(0,50);
if (expt.lastIndexOf(' ') > -1)
expt=expt.substr(0,expt.lastIndexOf(' '));expt+='...';}
expt=expt.replace('"',"\"");expt=expt.replace("'","\'");
if (!nameIsLink)author=author.replace(/(<([^>]+)>)/ig,"");
var st=getSortDate(d)+'<li>'+displayTemplate+'</li>';
st=st.replace('[name]',author);
st=st.replace('[title]','<a title="'+expt+'" href="'+
u+'#c'+i+'">'+t+'</a>');comments.push(st);}</script>

<div class="boxmenu">


<MainPage><div class="voicemenu">
<script type="text/javascript" language="JavaScript1.2">
document.write(titleText+'</div>');</script>
<Blogger>
<span id="frcht<$BlogItemNumber$>"
style="visibility:hidden;position:absolute;">
<BlogItemTitle><$BlogItemTitle$></BlogItemTitle></span>
<script type="text/javascript" language="JavaScript1.2">
title=
document.getElementById('frcht<$BlogItemNumber$>').innerHTML;
itemurl='<$BlogItemPermalinkURL$>';</script>
<BlogItemCommentsEnabled><BlogItemComments>
<span id="frch<$BlogCommentNumber$>"
style="visibility:hidden;position:absolute;">
<$BlogCommentBody$></span>
<script type="text/javascript" language="JavaScript1.2">
recentComment(title,itemurl,'<$BlogCommentNumber$>',
'<$BlogCommentAuthor$>','<$BlogCommentDateTime$>');
</script></BlogItemComments>
</BlogItemCommentsEnabled></Blogger><ul>
<script type="text/javascript" language="JavaScript1.2">
comments.sort();comments.reverse();
for (i=0; i<10 && i < comments.length && i < numberToShow; i++){
var s=comments[i];s=s.substr(14,s.length-1); document.write(s);}
</script>
</ul></MainPage>

</div>
<!-- END FARRAGO RECENT COMMENTS HACK -->

N.B. questa è una versione modificata apposta per i miei templates. la versione originale la trovate sul sito di BloggerHack.

Potete modificare le impostazioni di visualizzazione dei commenti in questa parte di codice (numero di commenti da mostrare ecc):

var titleText = “Recent Comments”;
var numberToShow = 10;
var displayTemplate = “[name] in [title]”;
var nameIsLink = true;

Salvate le modifiche e godetevi i vostri recent comments!!