FOLLOW ME > facebook blog | photography* | twitter | instagram* | rss

8 luglio 2006

Farrago recents comments hack

Qualche tempo fa vi ho fatto notare che ho inserito sulla colonna di destra una sezione dedicata agli ultimi commenti. In questo modo appena siete entrati nel mio sito non dovete scorrere tutti i post per vedere gli utlimi commenti ma vi basterà un'occhiata sulla sezione a destra per farvi un'idea se qualcuno ha risposto o no.
Oggi vi spiego (per quelli che usano Blogger) come fare per inserire questa sezione nel vostro blog, ma non solo, vi spiegherò anche come aggiungere nuove sezioni alla colonna di destra (tipica di Blogger).

Partiamo con l'inserimento di una nuova sezione.

Andate sulla sezione "Modello", a questo punto avrete una casella di testo davanti che contiene tutto il codice del vostro modello del blog.
Scorretelo fino ad arrivare alla riga:

<MainOrArchivePage>


questo codice segnala l'inizio delle sezioni presenti nella colonna di destra.
Ora vi basterà inserire:


<h2 class="sidebar-title">TITOLO DELLA SEZIONE</h2>
<div>
CONTENUTO DELLA SEZIONE
</div>


e avrete quante nuove sezioni vorrete.
Naturalmente per scrivere dentro al contenuto di una sezione bisogna conoscere un minimo di codice html, per quelli che non ne sanno niente di queste cose (come me) consiglio di scriversi i link, o il testo da inserire nella sezione in un editor html, copiarne il codice e inserirlo nel vostro blog.

Adesso inserire il "tracking" degli ultimi commenti è facilissimo.
Dovrete prima andare nelle impostazioni di Blogger e:
- 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

Adesso fate una nuova sezione e all'interno di questa inserite il 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<span id="frcht<$BlogItemNumber<span id="frcht<$BlogItemNumber<span id="frcht<$BlogItemNumber$>"
amp;gt;"
amp;gt;"
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<span id="frch<$BlogCommentNumber<span id="frch<$BlogCommentNumber<span id="frch<$BlogCommentNumber$>"
amp;gt;"
amp;gt;"
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 -->


A questo punto avrete solo un paio di impostazioni da fare (tra l'altro facoltative), appena all'inizio del codice subito dopo la riga con scritto OPTIONS:

var numberToShow = 5;
var displayTemplate = "[name] in [title]";
var nameIsLink = true;


potrete impostare il numero dei messaggi recenti; "displayTemplate" indica quello che verra visualizzato nel blog (ovvero il nome e l'articolo, ma se volete potete impostare che vi indichi solo il nome del post); l'ultima riga permette di fa sì che il nome dell'utente che ha messo il commento sia un link alla sua pagina web.

Naturalmente l'avrete notato di farina del mio sacco non c'è proprio niente, quello che ho trovato viene da Pannasmontata.
Inoltre ringrazio Jeby che mi ha dato una mano con l'impostazione dei codici.

Pannasmontata | BloggerHacks

Technorati tags: , , ,

4 commenti:

Jeby ha detto...

Bene!! Vedo che non hai avuto problemi, per una volta mi sono spiegato bene! :-)
Io ho la barra laterale così incasinata, non saprei proprio dove metterli i commenti recenti.. ci vorrebbero i template a tre colonne, ma poi è tutto troppo largo.. :D

Saint Andres ha detto...

Beh, puoi sempre ridurre l'interlinea dei post recenti e dell'archivio come ho fatto io.
MAgari riduci il numero dei comemnti recenti da 5 a 4.

Tommy ha detto...

Grazie... l'ho messo subito.
Però ho un paio di problemi: il paragrafo è tutto spostato verso dx e non allineato agli altri... e c'è un pallino ad ogni commento (ma io uso le stelline per ogni punto...).
Non è che sai come risolvere?!

Saint Andres ha detto...

Per il paragrafo non saprei cosa dirti per il puntino nemmeno, sai come sono, non sono molto esperto di queste cose.
Però anche io all'inizio avevo il puntino, adesso non so come ho fatto a risolverlo, però so che è questione della sezione, dovresti afre delle prove. Ad esempio nelle mie sezioni ho sostituito il comando < div > con < ul > e ovviamente il suo corrispettivo < /ul > (senza gli spazi, mi raccomando).
Prova, spero di esserti stato utile.