Arquivos do Website:

O melhor gadget de artigos relacionados para colocar no Blogger


Este é um dos melhores gadgets de artigos relacionados, existente atualmente na web! Eu utilizava este gadget nas páginas deste website, mas, resolvi retirá-lo por motivos pessoais! Se você teve a sorte de achá-lo, e desejar adicionar no seu blog ou website, fique a vontade para fazer isso. Mas, será necessário ter algum conhecimento sobre os códigos do Blogger, CSS, HTML e JavaScript! Recomendo que você leia também esse outro artigo - possui outro modelo de gadget, e ensina como colocar artigos relacionados com imagens no Blogger.


 
Imagem: www.grupoamutio.com

O CSS deverá ser adicionado acima de  "]]></b:skin>":

#related-posts{clear:both;margin-top:20px;margin-bottom:0;width:590px !important;}
#related-posts h3{font-family: 'Pathway Gothic One', sans-serif;font-size:18px;font-weight:400;text-shadow: 0 0 1px rgba(0,0,0,0.5);-webkit-font-smoothing: antialiased;text-transform:none;line-height:20px;padding-top:20px;display:none !important;}
#related-posts ul li a,#related-posts li a .title h4{color:#fff;font-size:12px;padding:0;margin:0;outline:0;list-style:none;outline: none;border:0 none}
#related-posts ul{margin-bottom:20px;padding:10px 0;}

#related-posts ul li{list-style:none;overflow:hidden;float:left;margin:0 5px 5px 0;height:200px;width:290px;font-size:13px;color:#fff;position:relative;}
#related-posts ul li:last-child{margin:0 0 10px 0;}
#related-posts li .thumb{width:290px;height:200px;overflow:hidden;}
#related-posts img{width: 290px;height: 210px;min-height:210px;float:left;margin:0;padding:0 !important;}#related-posts img:hover{opacity:.8}
#related-posts li .thumb img{height:200px;width:290px;}
#related-posts li{background:transparent !important;}
#related-posts li .title{position:absolute;bottom:0;left:0;background:#383832 !important;width:100%;padding:10px 5px;}
#related-posts li a :hover{text-decoration:none !important;color:#fff !important;background:#4c86f0 !important;}

Este código javascript deverá ser adiconado acima de "</head>":

<b:if cond='data:blog.pageType == &quot;item&quot;'><script type='text/javascript'>
      //<![CDATA[
      var relatedTitles = new Array();
      var relatedTitlesNum = 0;
      var relatedUrls = new Array();
      var thumburl = new Array();
      function related_results_labels_thumbs(json) {
        for (var i = 0; i < json.feed.entry.length; i++) {
          var entry = json.feed.entry[i];
          relatedTitles[relatedTitlesNum] = entry.title.$t;
          try
          {thumburl[relatedTitlesNum]=entry.gform_foot.url;}
          catch (error){
            s=entry.content.$t;a=s.indexOf("<img");b=s.indexOf("src=\"",a);c=s.indexOf("\"",b+5);d=s.substr(b+5,c-b-5);if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")){
              thumburl[relatedTitlesNum]=d;} else thumburl[relatedTitlesNum]='http://2.bp.blogspot.com/-XLW6n9opqm0/UwOKYLe80pI/AAAAAAAAMl0/9Wkso_zoC4o/s1600/no+image.gif';
          }
          if(relatedTitles[relatedTitlesNum].length>35) relatedTitles[relatedTitlesNum]=relatedTitles[relatedTitlesNum].substring(0, 41)+"...";
          for (var k = 0; k < entry.link.length; k++) {
            if (entry.link[k].rel == 'alternate') {
              relatedUrls[relatedTitlesNum] = entry.link[k].href;
              relatedTitlesNum++;
            }
          }
        }
      }
      function removeRelatedDuplicates_thumbs() {
        var tmp = new Array(0);
        var tmp2 = new Array(0);
        var tmp3 = new Array(0);
        for(var i = 0; i < relatedUrls.length; i++) {
          if(!contains_thumbs(tmp, relatedUrls[i]))
          {
            tmp.length += 1;
            tmp[tmp.length - 1] = relatedUrls[i];
            tmp2.length += 1;
            tmp3.length += 1;
            tmp2[tmp2.length - 1] = relatedTitles[i];
            tmp3[tmp3.length - 1] = thumburl[i];
          }
        }
        relatedTitles = tmp2;
        relatedUrls = tmp;
        thumburl=tmp3;
      }
      function contains_thumbs(a, e) {
        for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
        return false;
      }
      function printRelatedLabels_thumbs() {
        for(var i = 0; i < relatedUrls.length; i++)
        {
          if((relatedUrls[i]==currentposturl)||(!(relatedTitles[i])))
          {
            relatedUrls.splice(i,1);
            relatedTitles.splice(i,1);
            thumburl.splice(i,1);
            i--;
          }
        }
        var r = Math.floor((relatedTitles.length - 1) * Math.random());
        var i = 0;
        if(relatedTitles.length>0) document.write('<h3><span>'+relatedpoststitle+'</span></h3>');
        document.write('<ul>');
        while (i < relatedTitles.length && i < 20 && i<maxresults) {
          document.write('<li><a style="float:left;');
          if(i!=0) document.write('"');
          else document.write('"');
          document.write(' href="' + relatedUrls[r] + '"><div class="thumbR"><img src="'+thumburl[r]+'"/><div class="title"><h4>'+relatedTitles[r]+'</h4></div></div></a></li>');
          if (r < relatedTitles.length - 1) {
            r++;
          } else {
            r = 0;
          }
          i++;
        }
        document.write('</ul>');
        relatedUrls.splice(0,relatedUrls.length);
        thumburl.splice(0,thumburl.length);
        relatedTitles.splice(0,relatedTitles.length);
      }
      //]]>
</script></b:if>


Esta outra parte do código deverá ser adiconada acima de "<div class='post-footer'>" (alguns templates do Blogger, têm duas linhas "<div class='post-footer'>", nesse caso, adicione o código acima da segunda linha):

 <b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='related-posts'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast != &quot;true&quot;'>
</b:if>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels_thumbs&amp;max-results=999&quot;' type='text/javascript'/>
</b:loop>
<script type='text/javascript'>
var currentposturl=&quot;<data:post.url/>&quot;;
var maxresults=4;
var relatedpoststitle=&quot;Artigos Relacionados&quot;;
removeRelatedDuplicates_thumbs();
printRelatedLabels_thumbs();
</script></div>
</b:if><div style='clear:both'/>

Agora, basta salvar o template e visualizar a página do blog; os artigos relacionados irão aparecer no final dos artigos, somente nas páginas internas do blog.