Pubblicato il 09/03/11 - aggiornato il  | 26 commenti :

Riassunto automatico senza Javascript per post di blog su Blogger.

Riassunto automatico dei post per la piattaforma Blogger. Funzionalità superata e da non considerare.
Pubblico velocemente un aggiornamento al post di ieri "Come visualizzare in Blogger i riassunti dei post con miniature senza usare Javascript" e successivamente sarà mia premura apportare delle modifiche al codice dell'articolo.

Il problema presente nel codice, rilevato anche in un commento, era quello che nel caso si fosse inserito il Read More in modo manuale, tramite l'Editor di Blogger o attraverso Windows Live Writer, si sarebbero visti due link Continua a leggere o un'altra analoga espressione. Inoltre il riassunto automatico sarebbe stato comunque presente. Questo malfunzionamento è stato risolto. 

Andate su Design > Modifica HTML, espandete i modelli widget e cercate la riga <data:post.body/>. Cancellatela e sostituitela con questo codice
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<data:post.body/>
<b:else/>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
<data:post.body/>
<b:else/>
<b:if cond='data:post.hasJumpLink'>
<data:post.body/>
<b:else/>
<b:if cond='data:post.snippet'>
<b:if cond='data:post.thumbnailUrl'>
<div class='Image thumb'>
<img expr:src='data:post.thumbnailUrl'/>
</div>
</b:if>
<data:post.snippet/>
<div class='jump-link'>
<a expr:href='data:post.url + &quot;#more&quot;' expr:title='data:post.title'><data:post.jumpText/></a>
</div>
<b:else/>
<data:post.body/>
</b:if>
</b:if>
</b:if>
</b:if>

Si tratta di tutta una serie di tag condizionali che sfruttano le etichette fornite da Blogger.



Adesso cercate la riga ]]></b:skin> e , immediatamente sopra, incollate quest'altro codice

.thumb img {
float: left;
margin: 0 10px 10px 0;
}

dove left può essere sostituito con right se volete le miniature sulla destra. Si possono anche variare i valori dei margini. Salvate il modello. Questa personalizzazione comporta
  1. La creazione automatica di un riassunto se non è presente il jump del Read More
  2. Si visualizzerà correttamente il riassunto se abbiamo impostato il Read More
  3. In ogni riassunto automatico sarà presente come miniatura la prima immagine dell'articolo
  4. Le pagine statiche non saranno influenzate da questa variazione di codice
  5. Testatene il funzionamento nel blog Sidebar Multitab. In ogni articolo è indicata la modalità di pubblicazione. Sulla destra in alto della sidebar, è presente anche un esempio di una pagina statica.  


26 commenti :

  1. Fantastico! ottima soluzione! :D
    era proprio quello che intendevo io! :P

    ci sarà la possibilità di usare dei valori per aumentare il numero di righe di testo?
    e la modalità di sostituire la scritta "Continua a leggere..." con un'immagine allineata al lato destro del post? :P
    ciao! :D

    RispondiElimina
  2. @Supergerod
    Quelle cose le puoi fare per il momento solo con il read more. Questo sistema automatico si sostituisce al Read More quando non è presente.

    RispondiElimina
  3. Ciao, ho applicato le modifiche ma ora non mi esce più il riassunto, ho provato più volte ad applicare anche in base al tuo vecchio post ma il riassunto non me lo da più. Il post esce nella grandezza normale. Inoltre se non espando i modelli widget non riesco a trovare . Non so da cosa possa derivare. Grazie come al solito per l'attenzione.

    RispondiElimina
  4. @Affari Nostri
    Nel post non ho scritto di espandere i modelli widget ma è chiaro che bisogna farlo, lo correggerò. Ho controllato il codice e funziona. Forse hai involontariamente aggiunto o tolto qualcosa. Basta anche un piccolo tag o un apostrofo.

    RispondiElimina
  5. @parsifal32 Grazie!
    Per fortuna che ti leggo quotidianamente, altrimenti avrei aspettato invano l'email di aggiornamento dai commenti dell'altro post! :))

    PS. Ormai a forza di aggiungere, togliere, modificare il template, dovrei scrivere "powered by Parsifal" invece che "powered by blogger"!

    RispondiElimina
  6. Un problema: praticamente, se inserisco questo codice + la stecca da biliardo mi dà come risultato la normale pagina "read more" (vedi www.giordanochristian.com).

    Per usare la tua pagina di esempio, la foto della fragola quando usi il read more è nella grandezza normale del post, mentre nel quarto post di prova è ridotta a thumbnails come le altre che non hanno il read more.

    Non c'è il modo di far creare una scheda con thumb + riassunto del post fino al read more? O, in alternativa, decidere il numero di caratteri del riassunto come nel gadget degli "ultimi articoli" che hai proposto qui nel tuo blog?

    RispondiElimina
  7. Ok, allora metterò "powered by Ernesto" :)

    Hai controllato il sito? Non c'è un condizionale da aggiungere che gli dica "cari xhtml e css, se nella home c'è un articolo con "jump", fai la miniatura come negli altri e il riassunto fino al jump".

    RispondiElimina
  8. @dr Christian Giordano
    C'è la condizione che se nell'articolo c'è il jump viene mostrato l'incipit dell'articolo fino al jump stesso. La miniatura in questo caso è l'immagine presente nel post e si vede solo se è prima del read more.

    RispondiElimina
  9. @Ernesto T.Ernesto, questo lo so, l'ho visto nel mio sito. Ma in questo caso, non c'è alcuna differenza con o senza codice: se metto il jump, nell'home page compare esattamente così.

    Se trovo una soluzione te la segnalo.

    RispondiElimina
  10. @dr Christian Giordano

    Ho provato ad applicare il "read more" in oggetto ma mi dà solo 2 righe di riassunto senza alcuna immagine di miniatura...forse ho postato con WLW?

    RispondiElimina
  11. @Calcio Napoli 365 Se si posta con l'Editor di Blogger, il codice è tale che i post con il jump rimangono invariati. Con WLW può darsi che non prenda il comando.

    RispondiElimina
  12. @Ernesto T.

    Provato anche a postare dall'editor di blogger e mi dà sempre 1 riga e mezza senza alcuna anteprima, mentre con il jump list manuale tutto ok sia da WLW che da editor blogger.

    Avendo all'interno di tutti i miei posts un'anteprima 90x90 in alto a destra, avrei bisogno di impostare un "read more automatico" che mi spezzi il post subito dopo l'anteprima...esistono altri metodi anche un pò più "brutali"? ;)

    RispondiElimina
  13. @Calcio Napoli 365
    Nei miei test
    http://sidebar-multitab.blogspot.com/
    per ogni articolo è scritto la modalità di pubblicazione e quello con il read more viene esattamente come ci si aspetta. Ci deve essere qualche piccola variante nei singoli modelli

    RispondiElimina
  14. @Ernesto T.

    Infatti, sarei disposto anche ad inserire un codice all'interno del modello per impostare tale "read more auto", in quanto è una seccatura farlo manualmente soprattutto quando si pubblicano più di 50 post al giorno... ;)

    Ho provato un tuo vecchio metodo con javascript ma non mi funge, forse perchè sarà down lo script?

    RispondiElimina
  15. Ciao
    Prima di tutti, e mitico questo sito :P

    poi..
    ho messo il codice..funziona, ma male:

    il testo lo riassume...anche se preferirei un po' piu lungo.



    l'anteprima me la da quando metto un immagine da url!, e avendo piu di 2000 post, non mi posso permettere di caricare tutte le immagini su "picasa" (dal quale vengono visualizzate)

    la mia diagnosi?
    blogger e scrauso e non mi associa immagina alla variabile 'data:post.thumbnailUrl'

    ...come posso fare?
    ..magari si potrebbero usare funzioni di testo (in html non so, in js ci sono) x estrarre l'url dal

    ti prego aiutami , grazie

    RispondiElimina
  16. @KTP
    Questo widget è così. Non si può fare di più. E' stato realizzato esclusivamente usando le API di Blogger quindi la lunghezza dello snippet, la dimensione della miniatura, l'acquisizione delle immagini è quella ufficiale di Blogger. Quello che ha in più è che non si utilizza javascript e quindi non si appesantisce la pagina. Certo che è così e basta, prendere o lasciare ;)

    RispondiElimina
  17. HMM, MA PERCHE ESISTE UNO FATTO IN JAVASCRIPT CHE PUO FARE STE COSE?
    Me lo potresti linkare?


    sul blog citato prima (forse nell'altra discussione) www.films92.blogspot.com , usano quello ?

    RispondiElimina
  18. ps. nel primo commento postato qua ho fatto un errore, ho dimenticato un non.

    volevo dire:
    l'anteprima NON me la da quando metto un immagine da url!

    RispondiElimina
  19. Non trovo la scritta in nessun modo poi come fare ,,espandete i modelli widget " con le nove modifiche ???
    come fare ?

    RispondiElimina
    Risposte
    1. @# Leggi qui
      http://www.ideepercomputeredinternet.com/2013/04/how-to-search-blogger-template-code.html
      e qui
      http://www.ideepercomputeredinternet.com/2013/04/new-blogger-template-editor.html

      Elimina
  20. Oh no!
    Questo sistema oggi ha smesso di funzionare dopo anni e anni su entrambi i miei blog contemporaneamente! Proprio oggi! Sono certo di non aver toccato nulla e immagino che tutto dipenda da Blogger che modifica i nomi dei suoi tag. Esistono alternative o correzioni che si possono fare al volo?

    RispondiElimina
    Risposte
    1. per ora sto compensando con quello preso da questo sito ma mi trovavo meglio col tuo
      http://helplogger.blogspot.it/2012/03/auto-read-more-with-thumbnail-for.html

      Elimina
    2. La Demo mi pare funzioni sempre. Può darsi che dipenda dal fatto che dalla pubblicazione di questo post le righe
      < data:post.body/ >
      nel frattempo sono diventate due
      @#

      Elimina
    3. Penso che tutto sia coinciso col fatto che nella versione mobile abbiano tolto temporaneamente lo snippet nella giornata di ieri. Ora ha ripreso a funzionare di nuovo anche nella tua demo.

      Elimina
    4. Il problema era dovuto al fatto che la variabile
      data:post.snippet
      che doveva mostrare l'incipit del post aveva smesso di funzionare in alcuni modelli. Si poteva risolvere sostituendola nel codice con
      data:post.postSummary
      ma se ora ha ripreso a funzionare meglio lasciare tutto come è
      @#

      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