terça-feira, 5 de maio de 2009

Como colocar os Posts Relacionados no seu blogger


Bom essa com certeza é uma ótima dica que influência muito nas visitas do seu blog, porque? Como é meio complicado de ficar navegando pelo blog inteiro procurando matérias, e por esse motivo muitos deixam de navegar, talvez por falta de paciência ou por falta de tempo, então os post relacionados ajuda nessa hora, pois ao visitar uma noticia automaticamente aparecerá os cinco últimos posts relacionados ao tema ou a matéria, facilitando e muito a vida dos seus leitores. uma demostração esta abaixo os posts relacionados do NewTechSound

Primeiro salve um modelo do seu template, isso eu aconselho na maioria dos meus post quando vai alterar o template, como já dito para evitar futuros transtornos.



Segundo você vai clicar dentro do código HTML do seu template e aperta “CTRL+F” ou seja pesquisar e procurar o seguinte código “</head>” agora você vai colar o seguinte código antes da “</head>” e salve.

<script type="text/javascript">
//<![CDATA[
var relatedTitles = new Array();
var relatedTitlesNum = 0;
var relatedUrls = new Array();
function related_results_labels(json) {
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];
relatedTitles[relatedTitlesNum] = entry.title.$t;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
relatedUrls[relatedTitlesNum] = entry.link[k].href;
relatedTitlesNum++;
break;
}
}
}
}
function removeRelatedDuplicates() {
var tmp = new Array(0);
var tmp2 = new Array(0);
for(var i = 0; i < relatedUrls.length; i++) {
if(!contains(tmp, relatedUrls[i])) {
tmp.length += 1;
tmp[tmp.length - 1] = relatedUrls[i];
tmp2.length += 1;
tmp2[tmp2.length - 1] = relatedTitles[i];
}
}
relatedTitles = tmp2;
relatedUrls = tmp;
}
function contains(a, e) {
for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
return false;
}
function printRelatedLabels() {
var r = Math.floor((relatedTitles.length - 1) * Math.random());
var i = 0;
document.write('<ul>');
while (i < relatedTitles.length && i < 20) {
document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] +
'</a></li>');
if (r < relatedTitles.length - 1) {
r++;
} else {
r = 0;
}
i++;
}
document.write('</ul>');
}
//]]>
</script>


Terceiro agora você vai clicar em expandir modelo de widget, e procurar o seguinte código:

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>
<b:if cond='data:label.isLast != "true"'>,</b:if>
cole aqui
</b:loop>
</b:if>


E cole o seguinte código abaixo antes desse outro código acima que eu coloquei destacado, "cole aqui", lembrando o código destacado em preto não vai ser retirado, só coloquei em outra cor para não haver confusão e salve o template novamente.

<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name +
"?alt=json-in-script&amp;callback=related_results_labels&amp;max-results=5"'
type='text/javascript'/>
</b:if>


os dois códigos juntos vão ficar dessa forma:

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>
<b:if cond='data:label.isLast != "true"'>,</b:if>
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name +
"?alt=json-in-script&amp;callback=related_results_labels&amp;max-results=5"'
type='text/javascript'/>
</b:if>
</b:loop>
</b:if>



Após feito isso você vai pesquisar novamente esse outro código.

<p class='post-footer-line post-footer-line-3'/>

E por fim logo abaixo desse código acima você vai colar esse outro código e pronto é so salvar, e pode verificar que esta funcionando já os post relacionados.

<b:if cond='data:blog.url != data:blog.homepageUrl'>Posts Relacionados</b:if>
<script type='text/javascript'>
removeRelatedDuplicates();
printRelatedLabels();
</script>

5 comentários:

Filosofia de gaveta disse...

No meu blog não funcionou, tentei umas 3 vezes e nada!

Filosofia de gaveta disse...

Vou tentar novamente! Obrigada!

Ks disse...

Muito obrigado!! Eu tinha visto esse código em outro lugar, mas acredito que estava com algum erro e não funcinou. Tentei mais uma vez com o código postado aqui e deu tudo certo agora. Quer dizer, pra ficar perfeito ele teria que excluir o próprio post que está sendo visualisado, mas mesmo assim está ótimo ^^

Rendalta disse...

O codigo só funciona quando você clica em apenas em uma postagem. Por isso dizem todos dizem que não funcionam..

boa dica..

Mari disse...

sensacional! Valeu

Postar um comentário

divulque

Blogoteca

Boas matérias

 

NewTechSound

Amazing Counters
Toshiba Satellite Laptops