Pubblicato il 16/12/14 - aggiornato il  | 16 commenti :

Elenco di tutti i post di Blogger suddivisi per etichette.

Mostrare tutti i titoli degli articoli di Blogger in un elenco pubblicato in una pagina statica organizzati in etichette con i link ai rispettivi post.
La sitemap dei siti è un compendio generale di tutte i contenuti che viene inviata ai motori di ricerca per favorirne l'indicizzazione. Ci sono però anche le sitemap create a beneficio degli utenti che consentano loro di accedere a un elenco ragionato di tutte le nostre pubblicazioni. Ne ho già presentate alcune con stili diversi. Ricordo la mappa del sito di aspetto minimalista con i post in ordine alfabetico e organizzati in etichette, la mappa del sito suddivisa in categorie e la mappa del sito con miniature degli articoli

In questa nuova versione della mappa del sito si mostreranno tutti i post pubblicati nella sezione della relativa etichetta con righe colorate in modo diverso per una migliore visualizzazione. L'autore dello script mi è ignoto ma la presenza di moltissime parole in lingua indonesiana mi fa pensare che possa essere stato realizzato da un discepolo di Abu Fahran un grande blogger di quel paese o forse da lui stesso.

mappa-sito-etichette

Me lo fa pensare anche la presenza di una notazione aggiunta ai post recenti che nella versione italiana ho tradotto con Nuovo!!! tipica degli script di Abu Fahran. Questa mappa del sito va pubblicata in una Pagina e può essere ripresa nel menù che si forma automaticamente in Blogger



Si va su Bacheca > Pagine > Nuova pagina e si digita il nome del titolo della pagina quindi si clicca su HTML che si trova accanto a Scrivi e si incolla il codice seguente 

<script>var postTitle=new Array();var postUrl=new Array();var postMp3=new Array();var postDate=new Array();var postLabels=new Array();var postBaru=new Array();var sortBy="titleasc";var tocLoaded=false;var numChars=250;var postFilter='';var numberfeed=0;function loadtoc(json){function getPostData(){if("entry"in json.feed){var numEntries=json.feed.entry.length;numberfeed=numEntries;ii=0;for(var i=0;i<numEntries;i++){var entry=json.feed.entry[i];var posttitle=entry.title.$t;var postdate=entry.published.$t.substring(0,10);var posturl;for(var k=0;k<entry.link.length;k++){if(entry.link[k].rel=='alternate'){posturl=entry.link[k].href;break}}var postmp3='';for(var k=0;k<entry.link.length;k++){if(entry.link[k].rel=='enclosure'){postmp3=entry.link[k].href;break}}var pll='';if("category"in entry){for(var k=0;k<entry.category.length;k++){pll=entry.category[k].term;var l=pll.lastIndexOf(';');if(l!=-1){pll=pll.substring(0,l)}postLabels[ii]=pll;postTitle[ii]=posttitle;postDate[ii]=postdate;postUrl[ii]=posturl;postMp3[ii]=postmp3;if(i<5){postBaru[ii]=true}else{postBaru[ii]=false};ii=ii+1}}}}}getPostData();sortBy="titleasc";sortPosts(sortBy);sortlabel();tocLoaded=true;displayToc2()}function filterPosts(filter){scroll(0,0);postFilter=filter;displayToc(postFilter)}function allPosts(){sortlabel();postFilter='';displayToc(postFilter)}function sortPosts(sortBy){function swapPosts(x,y){var temp=postTitle[x];postTitle[x]=postTitle[y];postTitle[y]=temp;var temp=postDate[x];postDate[x]=postDate[y];postDate[y]=temp;var temp=postUrl[x];postUrl[x]=postUrl[y];postUrl[y]=temp;var temp=postLabels[x];postLabels[x]=postLabels[y];postLabels[y]=temp;var temp=postMp3[x];postMp3[x]=postMp3[y];postMp3[y]=temp;var temp=postBaru[x];postBaru[x]=postBaru[y];postBaru[y]=temp}for(var i=0;i<postTitle.length-1;i++){for(var j=i+1;j<postTitle.length;j++){if(sortBy=="titleasc"){if(postTitle[i]>postTitle[j]){swapPosts(i,j)}}if(sortBy=="titledesc"){if(postTitle[i]<postTitle[j]){swapPosts(i,j)}}if(sortBy=="dateoldest"){if(postDate[i]>postDate[j]){swapPosts(i,j)}}if(sortBy=="datenewest"){if(postDate[i]<postDate[j]){swapPosts(i,j)}}if(sortBy=="orderlabel"){if(postLabels[i]>postLabels[j]){swapPosts(i,j)}}}}}function sortlabel(){sortBy="orderlabel";sortPosts(sortBy);var j=0;var i=0;while(i<postTitle.length){temp1=postLabels[i];firsti=j;do{j=j+1}while(postLabels[j]==temp1);i=j;sortPosts2(firsti,j);if(i>postTitle.length)break}}function sortPosts2(firstvar,lastvar){function swapPosts2(x,y){var temp=postTitle[x];postTitle[x]=postTitle[y];postTitle[y]=temp;var temp=postDate[x];postDate[x]=postDate[y];postDate[y]=temp;var temp=postUrl[x];postUrl[x]=postUrl[y];postUrl[y]=temp;var temp=postLabels[x];postLabels[x]=postLabels[y];postLabels[y]=temp;var temp=postMp3[x];postMp3[x]=postMp3[y];postMp3[y]=temp;var temp=postBaru[x];postBaru[x]=postBaru[y];postBaru[y]=temp}for(var i=firstvar;i<lastvar-1;i++){for(var j=i+1;j<lastvar;j++){if(postTitle[i]>postTitle[j]){swapPosts2(i,j)}}}}function displayToc(filter){var numDisplayed=0;var tocTable='';var tocHead1='Judul Artikel';var tocTool1='Klik untuk sortir berdasarkan judul';var tocHead2='Tanggal';var tocTool2='Klik untuk Sortir bedasarkan tanggal';var tocHead3='Kategori';var tocTool3='';if(sortBy=="titleasc"){tocTool1+=' (descending)';tocTool2+=' (newest first)'}if(sortBy=="titledesc"){tocTool1+=' (ascending)';tocTool2+=' (newest first)'}if(sortBy=="dateoldest"){tocTool1+=' (ascending)';tocTool2+=' (newest first)'}if(sortBy=="datenewest"){tocTool1+=' (ascending)';tocTool2+=' (oldest first)'}if(postFilter!=''){tocTool3='Klik untuk menampilkan semua'}tocTable+='<col4>';tocTable+='<href>';tocTable+='<td class="toc-header-col1">';tocTable+='<a href="javascript:toggleTitleSort();" title="'+tocTool1+'">'+tocHead1+'</a>';tocTable+='</td>';tocTable+='<td class="toc-header-col2">';tocTable+='<a href="javascript:toggleDateSort();" title="'+tocTool2+'">'+tocHead2+'</a>';tocTable+='</td>';tocTable+='<td class="toc-header-col3">';tocTable+='<a href="javascript:allPosts();" title="'+tocTool3+'">'+tocHead3+'</a>';tocTable+='</td>';tocTable+='<td class="toc-header-col4">';tocTable+='Download MP3';tocTable+='</td>';tocTable+='</tr>';for(var i=0;i<postTitle.length;i++){if(filter==''){tocTable+='<href><td class="toc-entry-col1"><a href="'+postUrl[i]+'">'+postTitle[i]+'</a></td><td class="toc-entry-col2">'+postDate[i]+'</td><td class="toc-entry-col3">'+postLabels[i]+'</td><td class="toc-entry-col4">'+'<a href="'+postMp3[i]+'">'+'Download'+'</a>'+'</td></tr>';numDisplayed++}else{z=postLabels[i].lastIndexOf(filter);if(z!=-1){tocTable+='<href><td class="toc-entry-col1"><a href="'+postUrl[i]+'">'+postTitle[i]+'</a></td><td class="toc-entry-col2">'+postDate[i]+'</td><td class="toc-entry-col3">'+postLabels[i]+'</td><td class="toc-entry-col4">'+'<a href="'+postMp3[i]+'">'+'Download'+'</a>'+'</td></tr>';numDisplayed++}}}tocTable+='</table>';if(numDisplayed==postTitle.length){var tocNote='<postUrl class="toc-note">Menampilkan Semua '+postTitle.length+' Artikel<br/></span>'}else{var tocNote='<postUrl class="toc-note">Menampilkan '+numDisplayed+' artikel dengan kategori \'';tocNote+=postFilter+'\' dari '+postTitle.length+' Total Artikel<br/></span>'}var tocdiv=document.getElementById("toc");tocdiv.innerHTML=tocNote+tocTable}function displayToc2(){var j=0;var i=0;document.write('<div id="feed-control">');document.write('<div class="gfg-root">');while(i<postTitle.length){temp1=postLabels[i];document.write('<div class="gfg-subtitle">');document.write('<a  class="gfg-collapse-href" href="/search/label/'+temp1+'">'+temp1+'</a>');document.write('<div class="clearFloat"></div>');document.write('</div><div class="gfg-list"><false>');firsti=j;var tempposition='odd';do{if(tempposition=='odd'){document.write('<li><div class="gfg-listentry gfg-listentry-odd">');tempposition='even'}else{document.write('<li><div class="gfg-listentry gfg-listentry-even">');tempposition='odd'}document.write('<a href="'+postUrl[j]+'">'+postTitle[j]+'</a>');if(postBaru[j]==true){document.write(' - <strong><em><postUrl style="color: rgb(255, 0, 0);"> Nuovo!!!</span> </em></strong>')};document.write('</div></li>');j=j+1}while(postLabels[j]==temp1);i=j;document.write('</ol></div>');sortPosts2(firsti,j);if(i>postTitle.length)break}document.write('</div>');document.write('</div>')}function toggleTitleSort(){if(sortBy=="titleasc"){sortBy="titledesc"}else{sortBy="titleasc"}sortPosts(sortBy);displayToc(postFilter)}function toggleDateSort(){if(sortBy=="datenewest"){sortBy="dateoldest"}else{sortBy="datenewest"}sortPosts(sortBy);displayToc(postFilter)}function showToc(){if(tocLoaded){displayToc(postFilter);var toclink=document.getElementById("toclink")}else{alert("Sto caricando...")}}</script><br />
<script src="http://demo-parsifal32.blogspot.com/feeds/posts/default?max-results=9999&alt=json-in-script&amp;callback=loadtoc"></script><br />
<style type="text/css">
.gfg-root {
  width : 100%;
  height : auto;
  position : relative;
  overflow : hidden;
  text-align : center;
font-family:Georgia; /** Famiglia di font **/
font-size:13px  /** Dimensione font **/
}
.gfg-title {
  font-size: 14px;
  font-weight : bold;
  color:#585858;
  background-color:#BDBDBD;
  line-height : 1.4em; /** Altezza delle righe **/
  overflow : hidden;
  white-space : nowrap;
}
.gfg-title a {
  color : #36c;
}
.gfg-subtitle {
  font-size: 14px;
  font-weight: bold;
  color:#585858!important;
padding:4px;
border-radius:4px;
  background-color: #BDBDBD;
  line-height: 1.4em;
  overflow:hidden;
  white-space:nowrap;
  margin-bottom:5px;
}
.gfg-subtitle a {
  color:#404040!important
}
.gfg-entry {
  background-color : #fff;
  width : 100%;
  height : 6.9em;
  position : relative;
  overflow : hidden;
  text-align : left;
  margin-top : 3px;
}
.gfg-root .gfg-entry .gf-result {
  position : relative;
  background-color : #FFF;
  width : auto;
  height : 100%;
  padding-left : 20px;
  padding-right : 5px;
}
.gfg-list {
  position : relative;
  overflow : hidden;
  text-align : left;
  margin-bottom : 5px;
}
.gfg-listentry {
  line-height : 1.5em;
  overflow : hidden;
  white-space : nowrap;
  text-overflow : ellipsis;
  -o-text-overflow : ellipsis;
  padding-left : 15px;
  padding-right : 5px;
  margin-left : 5px;
  margin-right : 5px;
}
.gfg-listentry-odd {
  background-color : #F6F6F6;
}
.gfg-listentry-even {
}
.gfg-listentry-highlight {
  background-image : url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFdHjqe0vbPxYTee7dqDYEmIbwf_igF1Pyf5ZT90_cAsfNl9YBzOt3Kwr3a6NZ64gonLhSjUvLuxSD-3KhawZ-jahVVR2gGj5iIabv7KMRlbVMQvBwv3g8H6bUGSpJBRhB3WVXaRQ4aS4/s12/garrow.gif');
  background-repeat: no-repeat;
  background-position : center left;
}
.gfg-root .gfg-entry .gf-result .gf-title {
  font-size: 14px;
  line-height : 1.2em;
  overflow : hidden;
  white-space : nowrap;
  text-overflow : ellipsis;
  -o-text-overflow : ellipsis;
  margin-bottom : 2px;
}
.gfg-root .gfg-entry .gf-result .gf-snippet {
  height : 3.8em;
  color: #000000;
  margin-top : 3px;
}
.gfg-horizontal-container {
  position : relative;
}
.gfg-horizontal-root {
  height : 1.5em;
  _height : 100%;
  position : relative;
  white-space : nowrap;
  overflow : hidden;
  text-align : center;
  font-family: "Georgia", sans-serif;
  font-size: 13px;
  border: 1px solid #AAA;
  padding : 5px;
  margin-right : 80px;
}
.gfg-horizontal-root .gfg-title {
  font-weight : bold;
  background-color: #FFF;
  line-height : 1.5em;
  overflow : hidden;
  white-space : nowrap;
  float : left;
  padding-left : 10px;
  padding-right : 12px;
  border-right: 1px solid #AAA;
}
.gfg-horizontal-root .gfg-title a {
  color : #444;
  text-decoration : none;
}
.gfg-horizontal-root .gfg-entry {
  width : auto;
  height : 1.5em;
  position : relative;
  overflow : hidden;
  text-align : left;
  margin-top : 0px;
  margin-left : 0px;
  padding-left : 10px;
}
.gfg-horizontal-root .gfg-entry .gf-result {
  position : relative;
  background-color : white;
  width : 100%;
  height : 100%;
  line-height : 1.5em;
  overflow : hidden;
  white-space : nowrap;
}
.gfg-horizontal-root .gfg-list {
  display : none;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-snippet,
.gfg-horizontal-root .gfg-entry .gf-result .gf-author {
  display : none;
}
.gfg-horizontal-root .gfg-entry  .gf-result .gf-title {
  color: #00c;
  margin-right : 3px;
  float : left;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-spacer {
  float : left;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-spacer,
.gfg-horizontal-root .gfg-entry .gf-result .gf-relativePublishedDate {
  display : block;
  color: #AAA;
}
.gfg-branding {
  white-space : nowrap;
  overflow : hidden;
  text-align : left;
  position : absolute;
  right : 0px;
  top : 0px;
  width : 80px;
}
.gfg-collapse-open, .gfg-collapse-closed {
  background-repeat : no-repeat;
  background-position : center;
  cursor : pointer;
  float : right;
  width : 17px;
  height : 20px;
}
.gfg-collapse-open {
  background-image : url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVm86lIAPWwdEfELkY-KjGDn4jsyDVgWrTROlQmhIaFyxdYAq8DqPQFTECuL2GqF4X7dfoekndK25GW5jd2L3DlaEdlU9QLG0rgodqioNgMBW5PyTXPVHnOMrrkDzS2qgq2jITc8ee-oA/s12/arrow_open.gif');
}
.gfg-collapse-closed {
  background-image : url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHbd9IZtnC2qOr4WBnr9MoWBdXQSXO64kNg0hIL7NSJIE8Hg63cUxShR98QMJdz0hGNDYPtOO7xp7n6vV3tfrdxK2s3rdTDW5xQwuCEeLItAJyMI-RE8ByUJd-pIaeHlyna1uXkbccBOc/s12/arrow_close.gif');
}
.gfg-collapse-href {
  float : left;
}
.clearFloat {
  clear : both;
}
</style>

Si pubblica senza tornare su Scrivi. Ciascun titolo di post ha un collegamento all'articolo così come ciascuna etichetta ha un link alla pagina corrispettiva. Nel codice si possono modificare i codici dei colori, la famiglia di font ma soprattutto dobbiamo inserire l'URL del nostro sito con il .com e non con il .it se abbiamo un sito gratuito del tipo Blogspot.


16 commenti :

  1. It does not work at Blogger Dynamic View. Any suggestion? Thanks.

    RispondiElimina
    Risposte
    1. Unfortunately with Blogger Dynamic Views it never works almost anything :((
      @#

      Elimina
  2. Ciao. Non funziona come mai? Mi da il seguente errore.
    Non è possibile accettare il codice Tag non funzionante: NUMENTRIES specificato

    RispondiElimina
    Risposte
    1. Funziona. Quando leggi quel messaggio vai su Elimina e poi ripubblica
      @#

      Elimina
  3. Ciao Ernesto, capito qui perché anche io avevo trovato questo codice su un sito inglese, ma poi ho avuto un problema e per risolverlo sono arrivata al tuo interessantissimo blog qui. Il mio problema è che mi sono accorta che non carica tutti i post, ma solo quelli più recenti. Come max-result ho 9999 per cui non credo sia quello. Ho poco più di 400 post pubblicati e ho verificato che ne perdo circa 250 (tutti i più vecchi). Tu hai idee di quale possa essere il motivo. Ho lo stesso problema anche con questa tua soluzione qui: http://www.ideepercomputeredinternet.com/2013/11/elenco-post-etichetta-pagina-statica-blogger.html Grazie in anticipo per l'aiuto. Elena

    RispondiElimina
    Risposte
    1. Da quando è stato ritirato il progetto degli Yahoo Pipes le soluzioni per questa funzionalità sono tutte limitanti. Solo per i blog con numero non troppo grande di post si ha un risultato accettabile. Personalmente ho scelto questa soluzione
      http://www.ideepercomputeredinternet.com/p/mappa-del-sito-per-categorie-in-ordine.html
      che puoi installare da qui
      inhttp://www.ideepercomputeredinternet.com/2014/09/blogger-sitemap-etichette-label-post-widget.html
      Altre soluzioni sono
      http://www.ideepercomputeredinternet.com/2015/03/mappa-sito-blogger-etichette-miniature.html
      http://www.ideepercomputeredinternet.com/2015/01/blogger-widget-etichette-pagina-statica.html
      http://www.ideepercomputeredinternet.com/2014/03/mappa-sito-pagina-statica-blogger.html
      http://www.ideepercomputeredinternet.com/2015/11/sitemap-blogger-tutti-post-ricerca.html
      @#

      Elimina
    2. Non credevo che potessero avere questi limiti. La tua soluzione funziona perfettamente, devo solo rivedere la grafica. Ti ringrazio tantissimo, non solo per la disponibilità ma anche per la velocità con cui mi hai risposto. Buona serata :-)

      Elimina
  4. Ciao Grandissimo!! Sai cosa è successo alla Sitemap che non si visualizza più nel suo splendore/funzionalità a cui ci hai abituati? :) Grazie, buon WE ;)

    RispondiElimina
    Risposte
    1. Funziona perfettamente. Probabilmente hai provato a modificare il codice e hai pubblicato andando su Scrivi invece che rimanendo su HTML. Anche la Demo funziona
      @#

      Elimina
  5. Ernesto è vero però sia la tua versione 'Demo' che la mia funzionano ovvero sono visualizzabili ma scompaginate, non ti risulta? :)

    RispondiElimina
    Risposte
    1. Nel senso che il puntino sta sopra al titolo? Si tratta di un modo per separare gli elementi. Non lo vedo come negativo
      http://i.imgur.com/lJ6cp4M.jpg
      @#

      Elimina
  6. Ah ok :), scusa allora! E'diverso dalla soluzione precedente pensavo fosse un errore-problema oltre a trovarla personalmente più gradevole! Grazie ciao e buona serata-WE!!

    RispondiElimina
  7. Ciao Ernesto, sul mio blog la sitemap non mette tutti i post in ciascuna etichetta. Arbitrariamente o ne toglie pochi o addirittura quasi tutti, hai riscontrato problematiche simili? Non riesco a capire il perché, d'altronde la sitemap non prende i post dal feed? GRAZIE :)

    RispondiElimina
    Risposte
    1. Nella Demo mi pare che vada tutto bene
      http://demo-parsifal32.blogspot.it/p/mappa-sito.html
      forse lo script ha dei problemi con etichette di due parole o che hanno caratteri speciali perché non vengono rilevati nel javascript (ipotesi)
      @#

      Elimina
  8. ..è un bel mistero, grazie di 💓 Ernesto sei stato gentilissimo, per qualsiasi cosa chiedi pure! Ciao e buona serata/lavoro!!

    RispondiElimina

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.
Info sulla Privacy