Pubblicato il 08/02/10 - aggiornato il  | 46 commenti :

Aggiungere il widget degli Ultimi Post in un elemento pagina HTML/Javascript ad un blog su Blogger.

Continuo la mia operazione di eliminazione degli script caricati su hosting esterni per evitare problemi di bandwidth e di disservizio degli stessi hosting. In questo blog, nel momento in cui scrivo, non ho il widget degli Ultimi Articoli in quanto sarebbe superfluo dato che questi sono consultabili nel widget dell'archivio con calendario.
Ho già presentato una versione del gadget degli Ultimi Articoli che fa a meno di script esterni; adesso presento una variante ancora più semplice per la quale non occorre operare nel modello ma è sufficiente inserirla in un elemento pagina. Ecco il codice

    <script style="text/javascript">
//credit to hoctro - localizzato da Parsifal32 - www.ideepercomputeredinternet.com
function rp(json) {
document.write('<ul>');for (var i = 0; i < numposts; i++) {
document.write('<li>');
var entry = json.feed.entry[i];
var posttitle = entry.title.$t;
var posturl;
if (i == json.feed.entry.length) break;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
posturl = entry.link[k].href;
break;
}
}
posttitle = posttitle.link(posturl);
var readmorelink = "(leggi tutto)";
readmorelink = readmorelink.link(posturl);
var postdate = entry.published.$t;
var cdyear = postdate.substring(0,4);
var cdmonth = postdate.substring(5,7);
var cdday = postdate.substring(8,10);
var monthnames = new Array();
monthnames[1] = "Gen";
monthnames[2] = "Feb";
monthnames[3] = "Mar";
monthnames[4] = "Apr";
monthnames[5] = "Mag";
monthnames[6] = "Giu";
monthnames[7] = "Lug";
monthnames[8] = "Ago";
monthnames[9] = "Set";
monthnames[10] = "Ott";
monthnames[11] = "Nov";
monthnames[12] = "Dic";
if ("content" in entry) {
var postcontent = entry.content.$t;
} else if ("summary" in entry) {
var postcontent = entry.summary.$t;
} else
var postcontent = "";
var re = /<\S[^>]*>/g;
postcontent = postcontent.replace(re, "");
document.write(posttitle);
if (showpostdate == true) document.write(' - ' + cdday + ' ' + monthnames[parseInt(cdmonth,10)]+ ' ');
if (showpostsummary == true) {
if (postcontent.length < numchars) {
document.write(postcontent);
} else {
postcontent = postcontent.substring(0, numchars);
var quoteEnd = postcontent.lastIndexOf(" ");
postcontent = postcontent.substring(0,quoteEnd);
document.write(postcontent + '...' + readmorelink);
}
}
document.write('</li>');
}
document.write('</ul>');
document.write('<div style="font-size:70%;text-align:center"><p><a href="http://goo.gl/cPYh">Install widget</a></div>');
}
</script>
<script style="text/javascript">
var numposts = 6;
var showpostdate = false;
var showpostsummary = false;
var numchars = 100;
</script>
<script src="http://www.ideepercomputeredinternet.com/feeds/posts/default?orderby=published&alt=json-in-

script&callback=rp"></script>
  

Le personalizzazioni da compiere sono le seguenti
  1. var numposts = 6; rappresenta il numero di articoli da mostrare
  2. var showpostdate = false; se non si vuol mostrare la data, se si vuole che appaia true al posto di false
  3. var showpostsummary = false; se non si vuole mostrare il sommario del post, se si vuole vedere true al posto di false
  4. var numchars = 100; rappresenta il numero dei caratteri del sommario
  5. Va ovviamente inserito l'URL del blog al posto di www.ideepercomputeredinternet.com
Si va su Personalizza > Layout > Elementi pagina > Aggiungi un gadget > HTL/Javascript e, in Sezioni del sito, si incolla il codice personalizzato, si aggiunge il Titolo, si clicca su Salva e, con il mouse, si posiziona al meglio cliccando nuovamente su Salva.
ultimi-postPotete vedere questo widget all'opera in due versioni
Nel caso in cui si scelga di visualizzare anche il sommario dell'articolo apparirà il collegamento (leggi tutto) per vedere tutto il post.


46 commenti :

  1. Ciao, davvero interessanti i tuoi post, volevo chiederti se c'è la possibilità di inserire il blogroll in una pagina statica (html) di blogger. Grazie mille.

    RispondiElimina
  2. @::aNoNiMo::
    certo che si può fare. Non so a che Blog Roll ti riferisci ma basta inserire un elenco di blog con relativo link.
    Se sei più preciso...
    Ciao

    RispondiElimina
  3. Hai ragione, scusami sono stato poco preciso: vorrei sapere se è possibile inserire all'interno della pagina statica il widget "ElencoBlog", quello che si aggiorna tramite rss. Grazie mille! Antonio.

    RispondiElimina
  4. @:: aNoNiMo ::
    L'elenco Blog così com'è è possibile inserirlo in una sidebar ma non nella pagina statica. Se trovo qualcosa di adatto ci faccio un articolo.
    Ciao

    RispondiElimina
  5. Ti ringrazio molto per avermi risposto, passerò spesso sul tuo blog, per controllare i post. Grazie ancora, Antonio.

    RispondiElimina
  6. Non mi funziona :(

    Non mi da errore, ma nemmeno vedo nulla... sigh! sigh!

    RispondiElimina
  7. @alessandro
    ho appena controllato lo script e funziona perfettamente. Probabilmente non lo hai copiato bene o non hai inserito bene l'URL del tuo blog.
    Ciao

    RispondiElimina
  8. Carissimo,

    ti ringarzio...

    domattina ci provo e ti aggiorno

    Grazie e buona serata

    RispondiElimina
  9. Carissimo,

    niente da fare.....
    poi provo su un altro blogo e ti faccio sapere

    Grazie

    Ale

    RispondiElimina
  10. @Alessandro
    guarda che per usare Json bisogna prima togliere il widget che abbiamo, poi inserire quello nuovo altrimenti vanno in conflitto.
    Ciao

    RispondiElimina
  11. Ciao, c'è un modo per far apparire anche l'autore di un post?

    RispondiElimina
  12. @darkoide
    non so se c'è uno script che mostri anche l'autore. Può essere utile solo nei blog che ne hanno più di uno. Mi informo e se lo trovo o se riesco a modificare il javascript ci scrivo un post.
    Ciao

    RispondiElimina
  13. Grazie mille Parsifal, ho un altro dubbio: non riesco a capire perché quando scrivo un nuovo post questo a volte appare subito negli ultimi post e a volte no...tu hai qualche spiegazione?

    RispondiElimina
  14. @darkoide
    succede un po' a tutti. Può dipendere dalla velocità dei feed oppure da un'altro problema. L'importante è che, quando ne pubblichi un altro, si veda anche il precedente.
    Ciao

    RispondiElimina
  15. Ciao parsifal, grazie per il widget, funziona veramente bene! (come tutto quello che trovo su questo sito!).
    Mi chiedevo solo, visto che te ne intendi, se si poteva cambiare colore del testo nel riassunto del post e magari ingrandirlo per farlo venire in evidenza... Grazie!

    RispondiElimina
  16. @Pinuz
    E' una cosa che credo tu possa fare nel tuo blog andando su Layout > Caratteri e Colori e selezionando il colore del testo e la sua dimensione, per quanto riguarda la sidebar o i widget (nel caso queste opzioni fossero presenti nel tuo modello).
    Altrimenti si potrebbe intervenire nei CSS ma è cosa complicata e non sempre fattibile.
    Ciao

    RispondiElimina
  17. ciao parsifal, grazie per avermi risposto ieri. ma non mi sono arresa ed ho installato quest'altro widget: funziona! solo che naturalmente non ci sono le immagini. secondo te è possibile manipolare questo codice in modo da inserire anche le miniature delle immagini dei post? grazie mille

    RispondiElimina
  18. @sara b
    Il widget di ieri è proprio questo modificato per l'inserimento delle miniature ^_^

    RispondiElimina
  19. Ciao Parsifal,
    ho seguito le tue istruzioni ed ora il widget funziona perfettamente. Volevo chiederti questo: nel caso si decida di mostrare anche la data di pubblicazione degli ultimi articoli è possibile modificare questo codice in modo che il numero del giorno compaia prima del nome del mese? Grazie e complimenti per il blog!

    RispondiElimina
  20. @Emanuele
    Ho modificato il javascript, adesso si vede prima il giorno del mese e ho anche inserito uno spazio tra data e post. Fammi sapere se ora è tutto OK.
    Ciao

    RispondiElimina
  21. Sì, è tutto a posto. Grazie ancora!

    RispondiElimina
  22. Salve Parsifal, volevo chiederti un'informazione...secondo te è possibile integrare uno widget all'interno di un post? non intendo mostrarlo soltanto in una pagina, a me servirebbe proprio inserirlo all'interno di un post (che però come saprai è esso stesso uno widget). Volevo poi consigliarti, dal momento che ora hai attivato la moderazione dei commenti, di riabilitare i commenti con nome/url, cancellando poi di volta in volta i commenti anonimi come specificabile nella pagina commenti... così anche persone senza account Google potranno tornare a commentare :) ciao e buona giornata!

    RispondiElimina
  23. @Emanuele
    Sui commenti non posso che condividere ma se ho scelto questa opzione ho le mie ragioni. Fra qualche settimana può darsi che cambi qualcosa.
    Per inserire un widget all'interno di tutti i post, credo che sia questo quello che chiedi, si può utilizzare il metodo descritto in questo articolo
    http://www.ideepercomputeredinternet.com/2010/08/come-inserire-testo-link-e-immagini.html
    Questa stessa procedura si può utilizzare con il codice di qualsiasi widget che supporti la conversione in XML.
    Ciao

    RispondiElimina
  24. No purtroppo quello devrei fare io è inserire uno widget non in un modulo html esterno ma nel singolo post... praticamente avevo creato una pagina di archivio in javascript che si aggiornava dinamicamente con gli ultimi articoli, il problema è che google non può indicizzare tali elementi come fossero link html... per questo vorrei inserire lo widget dell'archivio di blogger direttamente in un post dedicato, però temo che non si possa fare essendo forse non consentito inserire un b:widget dinamico dentro un post...

    RispondiElimina
  25. @Emanuele
    Mi sembra una cosa che vada aldilà delle mie modeste conoscenze tecniche :-)

    RispondiElimina
  26. ciao Parsifal, è possibile far aprire i link in un'altra pagina? cioè target='_blank'

    RispondiElimina
  27. @soccerbetter
    Non ci avevo mai pensato. Così a prima vista mi sembra difficile perché non si tratta di collegamenti, che potrebbero essere configurati con target"_blank", ma di feed. Se mi viene qualche idee la condividerò come sempre del resto. Grazie comunque dell'interesse.

    RispondiElimina
  28. la soluzione deve essere in queste righe:

    if (entry.link[k].rel == 'alternate') {
    posturl = entry.link[k].href;
    break;
    }

    RispondiElimina
  29. Salve! So che questo non è il posto giusto ma non saprei dove scriverlo...da ieri è comparso un problema sul mio blog: quando vado su Designer modelli mi compare (non so come si chiama) il gadget dei post 2 volte e di conseguenza se apro il blog, scorrendo, i post si ripetono 2 volte...non so se si è ben capito il problema. Ho cercato di trovare una risposta sul web ma non ho trovato nulla. Lei sa per caso cosa potrebbe essere e come fare per eliminare il "doppione"?

    RispondiElimina
  30. @lovemakeup24
    Non so se ho ben compreso quello che è successo ma ho visto che aprendo un post del tuo blog se ne vedono due uno dopo l'altro. Potresti procedere in questo modo anche se è una cosa delicata e devi stare attenta
    1)Vai su Design > Modifica HTML e salvi il modello completo nel caso di casini per un eventuale backup
    2)Vai su Design > Elementi pagina. SE ho ben capito ci sono due aree con "Post sul blog". SE è così clicchi su Modifica quindi su Rimuovi a quella che sta sotto. Quindi clicchi su Salva in alto a destra.
    NB. Non so se ho capito bene il problema :)

    RispondiElimina
  31. Grazie per la risposta...il problema è esattamente questo...avevo già provato a rimuovere la seconda area solo che anche se clicco su "modifica" non compare la scritta "Rimuovi"...per questo non so cosa fare nè come risolvere il problema...

    RispondiElimina
  32. @lovemakeup24
    Forse ti conviene postare il problema sul servizio di assistenza di Blogger. Senza poter accedere al sito si può fare ben poco. il link è questo
    http://www.google.com/support/forum/p/blogger?hl=it

    RispondiElimina
  33. scusa come posso mettere anche io una v verde o una qualsiasi immagine d'avanti a ogni post, come ai fatto tu.

    RispondiElimina
    Risposte
    1. @Manager
      Non si può spiegare in un commento, magari ci faccio un post più in là.

      Elimina
  34. Ciao Parsifal! Spero che tu possa aiutarmi: in alcuni blog amici non si aggiorna il blog roll quando io pubblico un post anzi e' fermo a ben 3 anni fa!!! Cosa posso fare? Grazieeeeeee

    RispondiElimina
    Risposte
    1. @ Cannelle
      In alcuni o su tutti? Se il problema è limitato ad alcuni allora dipende da loro. Il widget dei Lettori o Google Friend Connect è stato ritirato e questo ha portato dei problemi anche nei blogroll. Se invece succede con tutti i blog allora può essere che tu abbia i feed troppo lunghi
      http://www.ideepercomputeredinternet.com/2012/11/feedburner-blogger-elenco-lettura.html

      Elimina
  35. Ciao!
    Ho utilizzato il tuo utilissimo codice nel mio blog, inserendolo prima in un widget HTML, nella sidebar...lì funziona correttamente.
    Ho pensato poi di inserirlo in una pagina statica, per mostrare i link agli articoli delle varie etichette in un'unica pagina statica. E per un po' ha funzionato. Ora non più, non si vedono più i link ai post. Da cosa può dipendere?
    Grazie!
    Se serve ti linko la pagina.
    Ste.

    RispondiElimina
    Risposte
    1. Probabilmente hai aggiornato il post pubblicando da Scrivi. Reincolla il codice è aggiorna di nuovo da Html
      @#

      Elimina
    2. Probabilmente hai aggiornato il post pubblicando da Scrivi. Reincolla il codice è aggiorna di nuovo da Html
      @#

      Elimina
    3. è quello che ho pensato pure io...e infatti ho fatto copia incolla in una pagina nuova, salvando da Html..ma non funziona nemmeno lì ...

      Elimina
    4. Ho provato per curtiosità a incollare il codice così com'è in un post in modalità HTML e pubblicato da lì. Funziona. Posso fare alcune ipotesi perché non ti funziona
      1) Su Opzioni sulla destra non hai messo la spunta su Premi "Invio" per le interruzioni di riga
      2) Hai sbagliato a incollare l'URL del tuo blog mettendo il .it sal posto del .com oppure lasciando una slash / in più
      @#

      Elimina
    5. Ti ringrazio per le risposte, ma non funziona...ho fatto quello che mi hai detto ma nulla..la cosa strana è che prima funzionava, senza la spunta su "premi invio" e con il .it...poi ha smesso di funzionare..ho copiato e incollato il codice su una pagina nuova...ha funzionato la prima volta che ho salvato poi ha smesso pure lì (ho salvato sempre da html)...lo stesso codice su widget invece funziona sempre...io davvero non capisco...confido in te ^_^ ...hai qualche illuminazione?
      Grazie.
      Ste.

      Elimina
  36. ciao, intanto grazie per i tuoi consigli, volevo aggiungere il widget con gli ultimi post con la miniatura ma non lo trovo.
    oppure widget orizzontale con slide di miniature
    dammi qualche consiglio

    RispondiElimina
    Risposte
    1. Prova questo
      https://www.ideepercomputeredinternet.com/2014/04/recewnt-posts-with-thumbnails-blogger.html
      @#

      Elimina

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