CONDIVIDI L' ARTICOLO SE TI PIACE:
Bookmark and Share
PAGINE VISTE OGGI:

martedì 9 febbraio 2010

INSERIRE PAGINA AVANTI CON NUMERO CON BLOGGER

Questa è una di quelle modifiche relativamente semplici da fare ma che permetteranno di dare un look & feel più gradevole e professionale al blog su Blogger: sostituire i link “Post più vecchi”, “Post più recenti” e “Home” con il numero delle pagine:
image
Decisamente d’impatto, permetterà una navigazione più intuitiva e rapida nel blog.

Questa modifica non appesentirà significativamente il caricamento del blog, ed è mia intenzione farla al più presto su questo blog. Come sempre farò riferimento al template Minima, ma non ci dovrebbero essere particolari problemi su qualsiasi altro template.

Passo 1 – Codice per la personalizzazione dei colori

Andate in Layout->Modifica HTML, e cercate queste righe di codice (verso l’inizio):
/* Variable definitions
   ====================
Subito sotto, incollate questo:
<Variable name="pagebgcolor" description="Pagine - colore di sfondo"     
          type="color" default="#ccc" value="#ffdfbf">     
<Variable name="pagefwcolor" description="Pagine - colore testo e bordi"     
          type="color" default="#000" value="#cc0000"> 



E salvate il template. In Layout->Caratteri e colori, apparirà già la possibilità di personalizzare i colori dei link alle pagine che inseriremo:



image



Passo 2 – Codice CSS per definire l’aspetto dei link alle pagine




Tornate in Layout->Modifica HTML, e cercate questa riga di codice (CTRL+F col browser):





]]></b:skin>




Subito sopra, incollate questo:



.showpageArea {    
margin-top: 12px;    
margin-bottom: 10px;    
}

.showpageArea a {    
font-size: 12px;    
font-weight: normal;    
text-align: center;    
text-decoration: none;    
border: 1px $pagefwcolor solid;    
color: $pagefwcolor;   
padding: 3px;    
margin-left: 5px;    
background: $pagebgcolor;    
}

    
.showpageArea a:hover {    
font-size: 12px;    
font-weight: normal;    
text-align: center;    
text-decoration: none;    
border: 1px $pagebgcolor solid;    
color: $pagebgcolor;    
padding: 3px;    
margin-left: 5px;    
background: $pagefwcolor;    
}
   
.showpageNum a {    
font-size: 12px;    
font-weight: normal;    
text-align: center;    
text-decoration: none;    
border: 1px $pagefwcolor solid;    
color: $pagefwcolor;    
padding: 3px;    
margin-left: 5px;    
background: $pagebgcolor;    
}
   
.showpageNum a:hover {    
font-size: 12px;    
font-weight: normal;    
text-align: center;    
text-decoration: none;    
border: 1px $pagebgcolor solid;    
color: $pagebgcolor;    
padding: 3px;    
margin-left: 5px;    
background: $pagefwcolor;    
}

.showpagePoint {    
font-size: 12px;    
font-weight: normal;    
text-align: center;    
text-decoration: none;    
border: 1px $pagebgcolor solid;    
color: $pagebgcolor;    
padding: 3px;    
margin-left: 5px;    
background: $pagefwcolor;    
}

.showpageTot {    
font-size: 12px;    
font-weight: normal;    
text-align: center;    
text-decoration: none;    
color: white;    
}



E salvate le modifiche fatte.



Passo 3 – Inserimento del codice Javascript




Andate in Layout->Elementi pagina, e aggiungete un elemento di tipo HTML/Javascript (nell’esempio l’elemento è inserito sotto la sezione dei post, ma potete aggiungerlo dovunque).



All’interno dell’elemento (lasciatelo senza titolo) incollate questo codice Javascript:



<script type="text/javascript">  
function showpageCount(json) {  
var thisUrl = location.href;  
var htmlMap = new Array();  
var isFirstPage = thisUrl.substring(thisUrl.length-5,thisUrl.length) == ".com/";  
var isLablePage = thisUrl.indexOf("/search/label/")!=-1;  
var isPage = thisUrl.indexOf("/search?updated")!=-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 pageCount = 5;  
var displayPageNum = 3;  var firstPageWord = '<<';  
var endPageWord = '>>';  
var upPageWord = '<';  
var downPageWord = '>';  
var labelHtml = '<span class="showpageNum"><a href="/search/label/'+thisLable+'?&max-results='+pageCount+'">';  
for(var i=0, post; post = json.feed.entry[i]; i++) {  
var timestamp = post.published.$t.substr(0,10);  
var title = post.title.$t;  
if(isLablePage) {  
if(title!='') {  
if(post.category) {  
for(var c=0, post_category; post_category = post.category[c]; c++) {  
if(encodeURIComponent(post_category.term)==thisLable) {  
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))) {  
if(thisUrl.indexOf(timestamp)!=-1 ) {  
thisNum = postNum;  
} 
postNum++; 
htmlMap[htmlMap.length] = '/search/label/'+thisLable+'?updated-max='+timestamp+'T00%3A00%3A00%2B08%3A00&max-results='+pageCount;  
}  
}  
}  
}  
itemCount++;  
}  
}  
else {  
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+'T00%3A00%3A00%2B08%3A00&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) {  
if(isLablePage) { 
upPageHtml = labelHtml + upPageWord +'</a></span>';  
}  
else {  
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) {  
if(isLablePage) {  
html = labelHtml+'1</a></span>';  
}  
else {  
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) {  
if(!isLablePage) {  
html = '<span class="showpage"><a href="/">'+ firstPageWord +' </a></span>'+upPageHtml+' '+html +' ';  
}  
else {  
html = ''+labelHtml + firstPageWord +' </a></span>'+upPageHtml+' '+html +' ';  
}  
}  
html = '<div class="showpageArea"><span class="showpage">Pagina '+thisNum+' di '+(postNum-1)+': </span>'+html; 
if(thisNum<(postNum-1)){ 
html += downPageHtml;  
html += '<span class="showpage"><a href="'+htmlMap[htmlMap.length-1]+'"> '+endPageWord+'</a></span>';  
}  
if(postNum==1) postNum++;  
html += '</div>';  
if(isPage || isFirstPage || isLablePage) {  
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 src="/feeds/posts/summary?alt=json-in-script&callback=showpageCount&max-results=99999" type="text/javascript"></script>  
<div style="text-align:right;font-size:10px;color:000000;margin-top:15px;display:none;"> <a href="http://rias-techno-wizard.blogspot.com/2008/07/page-navigation-hack-for-blogger.html">Grab this Widget ~ Blogger Accessories</a></div> 





Prima di salvare l’elemento, potete personalizzare il codice modificando le due righe che ho evidenziato:





var pageCount = 5;


var displayPageNum = 3;





La prima indica il numero di post che verranno visualizzati in ogni singola pagina: in questo caso vale 5. Per ottenere un effetto migliore, consiglio di mettere lo stesso numero di post che state già visualizzando, e che potete cambiare (ma non è necessario farlo) da Layout->Elementi pagina, cliccando su Modifica nella sezione dei post:



image



La seconda indica quanti link alle pagine appariranno. Lasciando 3, ecco il risultato:



 image




Una volta incollato il codice, salvate l’elemento e spostatelo sotto l’area dei post:








A questo punto salvate e visualizzate il blog, per vedere l’effetto. Tutto fatto!



Attenzione!




  • La modifica interroga il feed del blog, per cui può volerci qualche minuto prima che si “accorga” dei nuovi post
  • Potete modificare il codice Javascript per cambiare dimensioni dei caratteri e in generale l’aspetto dei link alle pagine
  • Personalizzate i colori andando in Layout->Caratteri e colori



Previa valutazione dei punti sopra, vi invito a segnalarmi qualsiasi problema che si presenti.

Seja o primeiro a comentar

Posta un commento

ARTICOLI CORRELATI

Followers

LO SCATOLONE DEI FERRI GUIDE © 2008 Template by Dicas Blogger.

TOPO