Blogger - Inserindo artigos relacionados
Autor: Ricardo Ortega | Publicado: 2012-03-24T17:08:00-07:00






Fazer com que o leitor&nbsp;visite&nbsp;o seu&nbsp;blog&nbsp;é uma coisa, agora fazer com que elecontinue&nbsp;por mais tempo, lendo mais postagens (a tal&nbsp;taxa de rejeição), é outra completamente diferente e por sinal, muito mais difícil. Uma boa forma de se conseguir isso no Blogger/Blogspot é entregando ao leitor mais daquilo que ele veio buscar, ou seja, mostrando à ele postagens relacionadas ao que ele está lendo. E não se preocupe, pois a lista só aparece na página individual da postagem.


Para inserir uma lista de Postagens Relacionadas no final da postagem, faça o seguinte:



Acesse o seu Painel do Blogger e selecione&nbsp;Layout, então clique emEditar HTML&nbsp; para entrar no modo de edição do&nbsp;código&nbsp;do seu Template. Então marque a opção&nbsp;Expandir modelos de widgets.


ão se esqueça de&nbsp; fazer o&nbsp;backup&nbsp;do seu template antes de realizar as alterações no código, clicando em&nbsp;Baixar&nbsp;modelo completo.




Encontre o seguinte código&nbsp;(utilizando o&nbsp;Ctrl+F&nbsp; do seu&nbsp;navegador):
&lt;/head&gt;




Então cole o seguinte código&nbsp;ANTES:&nbsp;
&lt;script type="text/javascript"&gt;//&lt;![CDATA[var relatedTitles = new Array();var relatedTitlesNum = 0;var relatedUrls = new Array();function related_results_labels(json) {for (var i = 0; i &lt; json.feed.entry.length; i++) {var entry = json.feed.entry[i];relatedTitles[relatedTitlesNum] = entry.title.$t;for (var k = 0; k &lt; 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 &lt; 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 &lt; 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('&lt;ul&gt;');while (i &lt; relatedTitles.length &amp;&amp; i &lt; 20) {document.write('&lt;li&gt;&lt;a href="' + relatedUrls[r] + '"&gt;' + relatedTitles[r] + '&lt;/a&gt;&lt;/li&gt;');if (r &lt; relatedTitles.length - 1) {r++;} else {r = 0;}i++;}document.write('&lt;/ul&gt;');}//]]&gt;&lt;/script&gt;




Agora encontre este código:
&lt;b:if cond='data:post.labels'&gt;&lt;data:postLabelsLabel/&gt;&lt;b:loop values='data:post.labels' var='label'&gt;&lt;a expr:href='data:label.url' rel='tag'&gt;&lt;data:label.name/&gt;&lt;/a&gt;&lt;b:if cond='data:label.isLast != "true"'&gt;,&lt;/b:if&gt;&lt;/b:loop&gt;&lt;/b:if&gt;




Então cole este código&nbsp;ANTES&nbsp;do&nbsp;&lt;/b:loop&gt;&nbsp;(observe o contexto do&lt;/b:loop&gt;&nbsp;para que seja igual ao apresentado acima, pois existem vários&lt;/b:loop&gt;&nbsp;no código):&nbsp;
&lt;b:if cond='data:blog.pageType == "item"'&gt;&lt;script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&amp;amp;callback=related_results_labels&amp;amp;max-results=5"' type='text/javascript'/&gt;&lt;/b:if&gt;
Altere o número “5” destacado em laranja do código acima pelo número de postagens relacionadas que você deseja que apareçam para cada categoria/marcador. Por exemplo, se a sua postagem possuir os marcadores “Notícias” e “Futebol”, aparecerão 10 postagens relacionadas no total, 5 para cada marcador.



Agora só mais uma vez, encontre este código:
&lt;div class='post-footer-line post-footer-line-3'/&gt;




Então cole o seguinte código&nbsp;DEPOIS:&nbsp;
&lt;b:if cond='data:blog.pageType == "item"'&gt;&lt;h3&gt;Postagens Relacionadas&lt;/h3&gt;&lt;/b:if&gt;&lt;script type='text/javascript'&gt;removeRelatedDuplicates();printRelatedLabels();&lt;/script&gt;
Altere a parte em laranja se quiser dar outro nome à lista de Postagens relacionadas. Talvez “Artigos Relacionados”? Você quem sabe.


Como esse hack funciona somente nas páginas individuais, não será possível visualizar diretamente o resultado. Então visualize apenas para checar se houve algum erro com o template e clique em&nbsp;Salvar Modelo. Em seguida abra uma postagem no seu blog para verificar o resultado.



Se o Hack não funcionar ou causar erros no seu template, desfaça as alterações clicando em&nbsp;Limpar Edições&nbsp;ou utilize o backup que você criou e clique em&nbsp;Fazer Upload, então refaça todo o processo.