Di default alla fine della Homepage di un blog sulla piattaforma Blogger si possono vedere i link Post più recenti, Home page e Post più vecchi, attraverso i quali si può navigare vedendo una schermata di un numero di post uguale a quello inserito in Impostazioni > Formattazione > Numero di post per pagina
Ovviamente in Homepage ci sarà solo il link Post più vecchi e non saranno visibili gli altri due. A me non dispiace questo metodo di navigazione ma c'è chi preferisce invece la numerazione delle pagine perché più facile da ricordare e più efficace esteticamente.
Per inserire un menù di navigazione con i numeri delle pagine si deve innanzitutto andare su Layout > Aggiungi un gadget e inserire il gadget Etichette nel caso in cui non lo avessimo già fatto. Questo perché potrebbe avere degli effetti antiestetici insieme a questa personalizzazione
E' la volta di andare su Layout > Modifica HTML e, dopo aver scaricato il modello completo, si deve cercare la riga di codice
]]></b:skin>e, immediatamente sopra, aggiungere il seguente codice
showpageArea {padding: 0 2px;margin-bottom:10px;margin-top:10px;dove i colori in notazione esadecimale, alcuni dei quali indicati in rosso, possono ovviamente essere personalizzati a seconda dei colori del blog. Ecco lo screenshot di come inserire il codice
}
.showpageArea a {border: 1px solid #414141;
color: #000000;font-weight:normal;
padding: 3px 6px !important;
padding: 1px 4px ;margin:0px 4px;
text-decoration: none;
}
.showpageArea a:hover {
font-size:11px;
border: 1px solid #333;
color: #191919;
background-color: #FFFFFF;
}
.showpageNum a {border: 1px solid #414141;
color: #191919;font-weight:normal;
padding: 3px 6px !important;
padding: 1px 4px ;margin:0px 4px;
text-decoration: none;
}
.showpageNum a:hover {
font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
.showpagePoint {font-size:11px;
padding: 2px 4px 2px 4px;
margin: 2px;
font-weight: bold;
border: 1px solid #333;
color: #fff;
background-color: #000000;
}
.showpage a:hover {font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
.showpageNum a:link,.showpage a:link {
font-size:11px;
padding: 2px 4px 2px 4px;
margin: 2px;
text-decoration: none;
border: 1px solid #003366;
color: #003366;
background-color: #FFFFFF;}
.showpageNum a:hover {font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
Salvate il modello e, senza espandere i modelli widget, cercate una riga di codice simile a questa
<b:section class=’main’ id=’main’ showaddelement=’yes’>potrebbe esserci il "no" al posto dello "yes". Andate a cercare, subito sotto, l'altra riga </b:section> che chiude la sezione. Immediatamente sotto a quella riga incollateci il seguente codice
<script type='text/javascript'>
var home_page_url = location.href;
var pageCount=3;
var displayPageNum=5;
var upPageWord ='Precedente';
var downPageWord ='Successivo';
function showpageCount(json) {
var thisUrl = home_page_url;
var htmlMap = new Array();
var thisNum = 1;
var postNum=1;
var itemCount = 0;
var fFlag = 0;
var eFlag = 0;
var html= '';
var upPageHtml ='';
var downPageHtml ='';
for(var i=0, post; post = json.feed.entry[i]; i++) {
var timestamp1 = post.published.$t.substring(0,19)+post.published.$t.substring(23,29);
timestamp = encodeURIComponent(timestamp1);
var title = post.title.$t;
if(title!=''){
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum = postNum;
}
if(title!='') postNum++;
htmlMap[htmlMap.length] = '/search?updated-max='+timestamp+'&max-results='+pageCount;
}
}
itemCount++;
}
for(var p =0;p< htmlMap.length;p++){
if(p>=(thisNum-displayPageNum-1) && p<(thisNum+displayPageNum)){
if(fFlag ==0 && p == thisNum-2){
if(thisNum==2){
upPageHtml = '<span class="showpage"><a href="/">'+ upPageWord +'</a></span>';
}else{
upPageHtml = '<span class="showpage"><a href="'+htmlMap[p]+'">'+ upPageWord +'</a></span>';
}
fFlag++;
}
if(p==(thisNum-1)){
html += '<span class="showpagePoint">'+thisNum+'</span>';
}else{
if(p==0){
html += '<span class="showpageNum"><a href="/">1</a></span>';
}else{
html += '<span class="showpageNum"><a href="'+htmlMap[p]+'">'+ (p+1) +'</a></span>';
}
}
if(eFlag ==0 && p == thisNum){
downPageHtml = '<span class="showpage"> <a href="'+htmlMap[p]+'">'+ downPageWord +'</a></span>';
eFlag++;
}
}
}
if(thisNum>1){
html = ''+upPageHtml+' '+html +' ';
}
html = '<div class="showpageArea"><span style="COLOR: #000;" class="showpageOf"> Pagine ('+(postNum-1)+')</span>'+html;
if(thisNum<(postNum-1)){
html += downPageHtml;
}
if(postNum==1) postNum++;
html += '</div>';
var pageArea = document.getElementsByName("pageArea");
var blogPager = document.getElementById("blog-pager");
if(postNum <= 2){
html ='';
}
for(var p =0;p< pageArea.length;p++){
pageArea[p].innerHTML = html;
}
if(pageArea&&pageArea.length>0){
html ='';
}
if(blogPager){
blogPager.innerHTML = html;
}
}
function showpageCount2(json) {
var thisUrl = home_page_url;
var htmlMap = new Array();
var isLablePage = thisUrl.indexOf("/search/label/")!=-1;
var thisLable = isLablePage ? thisUrl.substr(thisUrl.indexOf("/search/label/")+14,thisUrl.length) : "";
thisLable = thisLable.indexOf("?")!=-1 ? thisLable.substr(0,thisLable.indexOf("?")) : thisLable;
var thisNum = 1;
var postNum=1;
var itemCount = 0;
var fFlag = 0;
var eFlag = 0;
var html= '';
var upPageHtml ='';
var downPageHtml ='';
var labelHtml = '<span class="showpageNum"><a href="/search/label/'+thisLable+'?&max-results='+pageCount+'">';
var thisUrl = home_page_url;
for(var i=0, post; post = json.feed.entry[i]; i++) {
var timestamp1 = post.published.$t.substring(0,19)+post.published.$t.substring(23,29);
timestamp = encodeURIComponent(timestamp1);
var title = post.title.$t;
if(title!=''){
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum = postNum;
}
if(title!='') postNum++;
htmlMap[htmlMap.length] = '/search/label/'+thisLable+'?updated-max='+timestamp+'&max-results='+pageCount;
}
}
itemCount++;
}
for(var p =0;p< htmlMap.length;p++){
if(p>=(thisNum-displayPageNum-1) && p<(thisNum+displayPageNum)){
if(fFlag ==0 && p == thisNum-2){
if(thisNum==2){
upPageHtml = labelHtml + upPageWord +'</a></span>';
}else{
upPageHtml = '<span class="showpage"><a href="'+htmlMap[p]+'">'+ upPageWord +'</a></span>';
}
fFlag++;
}
if(p==(thisNum-1)){
html += '<span class="showpagePoint">'+thisNum+'</span>';
}else{
if(p==0){
html = labelHtml+'1</a></span>';
}else{
html += '<span class="showpageNum"><a href="'+htmlMap[p]+'">'+ (p+1) +'</a></span>';
}
}
if(eFlag ==0 && p == thisNum){
downPageHtml = '<span class="showpage"> <a href="'+htmlMap[p]+'">'+ downPageWord +'</a></span>';
eFlag++;
}
}
}
if(thisNum>1){
if(!isLablePage){
html = ''+upPageHtml+' '+html +' ';
}else{
html = ''+upPageHtml+' '+html +' ';
}
}
html = '<div class="showpageArea"><span style="COLOR: #000;" class="showpageOf"> Pages ('+(postNum-1)+')</span>'+html;
if(thisNum<(postNum-1)){
html += downPageHtml;
}
if(postNum==1) postNum++;
html += '</div>';
var pageArea = document.getElementsByName("pageArea");
var blogPager = document.getElementById("blog-pager");
if(postNum <= 2){
html ='';
}
for(var p =0;p< pageArea.length;p++){
pageArea[p].innerHTML = html;
}
if(pageArea&&pageArea.length>0){
html ='';
}
if(blogPager){
blogPager.innerHTML = html;
}
}
</script>
<script type='text/javascript'>
var thisUrl = home_page_url;
if (thisUrl.indexOf("/search/label/")!=-1){
if (thisUrl.indexOf("?updated-max")!=-1){
var lblname1 = thisUrl.substring(thisUrl.indexOf("/search/label/")+14,thisUrl.indexOf("?updated-max"));
}else{
var lblname1 = thisUrl.substring(thisUrl.indexOf("/search/label/")+14,thisUrl.indexOf("?&max"));
}
}
var home_page = "/";
if (thisUrl.indexOf("?q=")==-1 && thisUrl.indexOf(".html")==-1){
if (thisUrl.indexOf("/search/label/")==-1){
document.write('<script src="'+home_page+'feeds/posts/summary?alt=json-in-script&callback=showpageCount&max-results=99999" ><\/script>')
}else{document.write('<script src="'+home_page+'feeds/posts/full/-/'+lblname1+'?alt=json-in-script&callback=showpageCount2&max-results=99999" ><\/script>')
}
}
</script>
Nelle prime righe di questo codice ci sono i due dati var pageCount=3; e var displayPageNum=5; che rappresentano rispettivamente il numero di post per pagina e il numero di pagine mostrate nel layout e che possono essere personalizzate. Ecco lo screenshot relativo all'inserimento
Salvate nuovamente il modello.
Ho creato un blog appositamente per questo tipo di personalizzazione per vedere se il codice funzionava. Potete controllarne l'efficacia in Numeri di Pagina per Navigazione.
Questo post è una sintesi di informazioni che ho preso dai seguenti siti: Abu Farhan, TechieBlogger e AllBlogTools.
Mi scusi, vorrei chiedergli perchè a me non escono i quadratini in cui ci sono i numeri...ma escono i numeri uno attaccato all'altro, perchè? Attendo risposte. Poi il sito di Abu Farhan esce tutto bianco all'improvviso...
RispondiElimina@ISHOW
RispondiEliminaHo dato uno sguardo al tuo modello e può essere che questa personalizzazione non sia del tutto compatibile.
Per quello che riguarda le fonti che ho citato puoi consultare direttamente questo articolo di Abu Farhan. Il codice è simile ma ci sono tre Demo relative a tre diversi modelli di Blogger. Per vedere al meglio il post ti consiglio di non usare Internet Explorer (altrimenti c'è un errore nello script) ma di utilizzare Firefox o Chrome.
Ciao
Ciao, ieri ho installato questo wighet su 2 miei blog e funzionava, oggi non funziona più, quale potrebbe essere il problema?
RispondiEliminaRisolto, avevo disattivato i feed, cmq come posso modificare la srcitta "Pages" con Pagine?
RispondiEliminaGrazie
@Mauro
RispondiEliminaMi ero dimenticato di tradurre quella parola quando ho tradotto l'hack.
Adesso ho provveduto e puoi ricopiare il codice nuovamente oppure puoi semplicemente sostituire la parola "Pages" con "Pagine" nella riga
class="showpageOf"> Pages ('+(postNum-1)+')
Non so perché (e fortunatamente me ne sono accorta) ma "older post" non mi funzionava più. Vai a capire. :S
RispondiEliminaHo sostituito con questo script, moolto meglio con i numeri.
Grazie Ernesto. ;)
@Marguerite N.
RispondiEliminaSe vuoi adattare lo stile a quello del tuo blog, ce ne sono ben sei già predisposti in cui scegliere
http://www.ideepercomputeredinternet.com/2010/02/inserire-i-numeri-di-pagina-per-la.html
Salve, io ho seguito alla lettera tutti i passaggi e li ho ripetuti due volte per sicurezza, ma in entrambe i tentativi non visualizzo nulla, quale potrebbe essere il motivo? Il mio blog è completo al 100% questa è l'ultima modifica che devo fare, mi dia una mano per favore!
RispondiEliminaGRazie mille
@Doshin
RispondiEliminaNon c'è motivo, semplicemente lo script trova qualche incompatibilità.
Prova quest'altro tutorial
http://www.ideepercomputeredinternet.com/2010/02/inserire-i-numeri-di-pagina-per-la.html
che è più recente e ha anche più personalizzazioni.
Salve ho effettuato anche le altre operazioni per la personalizzazione ma non vedo ancora nulla. Eventualmente il mio blog non fosse compatibile con questa funzione, succede qualcosa se lascio l html così come l ho modificato adesso o devo rimuovere tutte le stringhe che ho inserito? Grazie mille
RispondiElimina@doshin
RispondiEliminaE' meglio che togli il codice che hai inserito. Potrebbe rallentare il blog
Ciao! fantastico! ne ho lette tante di guide e non riuscivo.. con questa finalmente sono riuscito! Una cosa sola vorrei chiederti... Se volessi mettere i numeri di pagine anche sopra i post, oltre che sotto, come posso fare? Grazie mille e complimenti! ;-)
RispondiElimina@iOSLife
EliminaQuesto tutorial è molto complesso e si deve ai tre blogger di cui ho messo i riferimenti a fondo pagina. Onestamente la cosa che mi proponi non è attualmente alla portata delle mie conoscenze.
grazie Ernesto.. ma tutti e 3 i blog sono in inglese.. e io ho difficoltà a capirli... sai dove potrei chiedere info in merito a questo? vorrei poter inserire il conteggio delle pagine anche sopra e mettere anche il tasto "ultima"... Grazie
Elimina@iOSLife
EliminaIn Italia non credo ci siano persone in grado di aiutarti e se ci sono non le conosco.
Ho installato le pagine per la navigazione, ma non mostra tutti i post, cioè il mio blog è aperto dal gennaio 2011, ma se vado all'ultima pagina mi fa vedere post del 2012! Come mai? Grazie
RispondiElimina@GiorgioC
EliminaNon lo so, posso fare solo delle ipotesi e delle considerazioni. Questo tool è stato messo a punto quasi tre anni fa e da allora il codice di Blogger è molto cambiato. Non sono a conoscenza di metodi per creare un sistema di navigazione adatto ai modelli più recenti. Nel caso ci pubblicherei un post.
Ok, grazie! Per caso mi puoi dire come inserire il bottone (come il tuo) "Rispondi" nei commenti, il semplice link non mi piace molto.
Elimina@GiorgioC
EliminaPer attivare le risposte ai commenti puoi seguire questo tutorial
http://www.ideepercomputeredinternet.com/2012/01/come-attivare-le-risposte-nidificate-ai.html
Per la personalizzazione del bottone Rispondi ci farò un post a breve