Cara Membuat Top Komentar Dengan Avatar


Tiga jenis top komentar sudah selesai saya share kepada sobat semua,di balik manfaat atau kegunaan top komentar ini menurut saya adalah,kita bisa tahu siapa saja yang telah memberikan komentar di blog kita dan siapa saja yang rajin berkunjung dengan komentar terbanyaknya,maka dengan adanya top komentar ini kita bisa memberikan motifasi tersendiri buat komentator maupun yang di komentari,.
Cara Membuat Top Komentar Dengan Avatar
baca juga Cara membuat top komentar pada blog ''list style''
dan baca juga Cara membuat top komentar pada blog ''cloud style''

Dibawah ini adalah script nya jika sobat mau menggunakan top komentar dengan menampilkan avatar si komentator tersebut,adapun cara-caranya masih sama seperti yang lainnya di dalam menambahkan sebuah widget pada blog.Berikut dibawah ini adalah cara menambahkan atau memasang top komentar dengan avatar pada blog;

  • Pertama copy script di bawah ini.
  • Kedua login ke akun sobat.
  • Berikutnya klik tata letak>>tambah gadget baru>>html/java script.
  • Paste script tersebut kedalam kotak html yang telah di tambahkan.
  • Save dan lihat hasilnya.

<style type="text/css">
    .top-commenter-line {margin: 3px 0;}
    .top-commenter-line .profile-name-link {padding-left:0;}
    .top-commenter-avatar {vertical-align:middle;}
    </style><br />
<script type="text/javascript">
    //
    // Top Commentators gadget with avatars, by MS-potilas 2012.
    // Gets a list of top commentators from all comments, or specified number of days in the past.
    // See http://harysukasuka.blogspot.com/2013/02/cara-membuat-top-komentar-dengan-avatar.html
    //
    // CONFIG:
    var maxTopCommenters = 20;   // how big a list of top commentators
    var minComments = 1;        // how many comments must top commentator have at least
    var numDays = 30;            // from how many days (ex. 30), or 0 from "all the time"
    var excludeMe = true;       // true: exclude my own comments
    var excludeUsers = ["Hary Muhlia", "someotherusertoexclude"];     // exclude these usernames
    var maxUserNameLength = 42; // 0: don't cut, >4: cut usernames
    //
    var txtTopLine = '<b>[#].</b> [image] [user] ([count])';
    var txtNoTopCommenters = 'No top commentators at this time.';
    var txtAnonymous = '';      // empty, or Anonymous user name localized if you want to localize
    //
    var sizeAvatar = 20;
    var cropAvatar = true;
    //
    var urlNoAvatar = "http://lh4.googleusercontent.com/-069mnq7DV_g/TvgRrBI_JaI/AAAAAAAAAic/Iot55vywnYw/s"+sizeAvatar+"/avatar_blue_m_96.png"; // http://www.blogger.com/img/avatar_blue_m_96.png resizeable
    var urlAnoAvatar = 'http://www.gravatar.com/avatar/00000000000000000000000000000000?d=mm&s=' + sizeAvatar;
    var urlMyProfile = ''; // set if you have no profile gadget on page
    var urlMyAvatar = '';  // can be empty (then it is fetched) or url to image
    // config end
    // for old IEs & IE modes:
    if(!Array.indexOf) {
     Array.prototype.indexOf=function(obj) {
      for(var i=0;i<this.length;i++) if(this[i]==obj) return i;
      return -1;
    }}
    function replaceTopCmtVars(text, item, position)
    {
      if(!item || !item.author) return text;
      var author = item.author;
 
      var authorUri = "";
      if(author.uri && author.uri.$t != "")
        authorUri = author.uri.$t;
 
      var avaimg = urlAnoAvatar;
      var bloggerprofile = "http://www.blogger.com/profile/";
      if(author.gd$image && author.gd$image.src && authorUri.substr(0,bloggerprofile.length) == bloggerprofile)
        avaimg = author.gd$image.src;
      else {
        var parseurl = document.createElement('a');
        if(authorUri != "") {
          parseurl.href = authorUri;
          avaimg = 'http://www.google.com/s2/favicons?domain=' + parseurl.hostname;
        }
      }
      if(urlMyProfile != "" && authorUri == urlMyProfile && urlMyAvatar != "")
        avaimg = urlMyAvatar;
      if(avaimg == "http://img2.blogblog.com/img/b16-rounded.gif" && urlNoAvatar != "")
        avaimg = urlNoAvatar;
      var newsize="s"+sizeAvatar;
      avaimg = avaimg.replace(/\/s\d\d+-c\//, "/"+newsize+"-c/");
      if(cropAvatar) newsize+="-c";
      avaimg = avaimg.replace(/\/s\d\d+(-c){0,1}\//, "/"+newsize+"/");
 
      var authorName = author.name.$t;
      if(authorName == 'Anonymous' && txtAnonymous != '' && avaimg == urlAnoAvatar)
        authorName = txtAnonymous;
      var imgcode = '<img class="top-commenter-avatar" height="'+sizeAvatar+'" width="'+sizeAvatar+'" title="'+authorName+'" src="'+avaimg+'" />';
      if(authorUri!="") imgcode = '<a href="'+authorUri+'">'+imgcode+'</a>';
 
      if(maxUserNameLength > 3 && authorName.length > maxUserNameLength)
        authorName = authorName.substr(0, maxUserNameLength-3) + "...";
      var authorcode = authorName;
      if(authorUri!="") authorcode = '<a class="profile-name-link" href="'+authorUri+'">'+authorcode+'</a>';
 
      text = text.replace('[user]', authorcode);
      text = text.replace('[image]', imgcode);
      text = text.replace('[#]', position);
      text = text.replace('[count]', item.count);
      return text;
    }
 
    var topcommenters = {};
    var ndxbase = 1;
    function showTopCommenters(json) {
      var one_day=1000*60*60*24;
      var today = new Date();
 
      if(urlMyProfile == "") {
        var elements = document.getElementsByTagName("*");
        var expr = /(^| )profile-link( |$)/;
        for(var i=0 ; i<elements.length ; i++)
          if(expr.test(elements[i].className)) {
            urlMyProfile = elements[i].href;
            break;
          }
      }
 
      for(var i = 0 ; i < json.feed.entry.length ; i++ ) {
        var entry = json.feed.entry[i];
        if(numDays > 0) {
          var datePart = entry.published.$t.match(/\d+/g); // assume ISO 8601
          var cmtDate = new Date(datePart[0],datePart[1]-1,datePart[2],datePart[3],datePart[4],datePart[5]);
 
          //Calculate difference btw the two dates, and convert to days
          var days = Math.ceil((today.getTime()-cmtDate.getTime())/(one_day));
          if(days > numDays) break;
        }
        var authorUri = "";
        if(entry.author[0].uri && entry.author[0].uri.$t != "")
          authorUri = entry.author[0].uri.$t;
 
        if(excludeMe && authorUri != "" && authorUri == urlMyProfile)
          continue;
        var authorName = entry.author[0].name.$t;
        if(excludeUsers.indexOf(authorName) != -1)
          continue;
 
        var hash=entry.author[0].name.$t + "-" + authorUri;
        if(topcommenters[hash])
          topcommenters[hash].count++;
        else {
          var commenter = new Object();
          commenter.author = entry.author[0];
          commenter.count = 1;
          topcommenters[hash] = commenter;
        }
      }
      if(json.feed.entry.length == 200) {
        ndxbase += 200;
        document.write('<script type="text/javascript" src="http://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&start-index='+ndxbase+'&alt=json-in-script&callback=showTopCommenters"></'+'script>');
        return;
      }
 
      // convert object to array of tuples
      var tuplear = [];
      for(var key in topcommenters) tuplear.push([key, topcommenters[key]]);
 
      tuplear.sort(function(a, b) {
        if(b[1].count-a[1].count)
            return b[1].count-a[1].count;
        return (a[1].author.name.$t.toLowerCase() < b[1].author.name.$t.toLowerCase()) ? -1 : 1;
      });
 
      // list top topcommenters:
      var realcount = 0;
      for(var i = 0; i < maxTopCommenters && i < tuplear.length ; i++) {
        var item = tuplear[i][1];
        if(item.count < minComments)
            break;
        document.write('<di'+'v class="top-commenter-line">');
        document.write(replaceTopCmtVars(txtTopLine, item, realcount+1));
        document.write('</d'+'iv>');
        realcount++;
      }
      if(!realcount)
        document.write(txtNoTopCommenters);
    }
    document.write('<script type="text/javascript" src="http://'+window.location.hostname+'/feeds/comments/default?redirect=false&max-results=200&alt=json-in-script&callback=showTopCommenters"></'+'script>');
</script><a href="http://harysukasuka.blogspot.com" target="blank"><font color="red">[Get This]<font></font></font></a>



 Keterangan :
  1. 1. var maxTopCommenters = 20; adalah jumlah komentator yang akan ditampilkan, silahkan ubah angkanya
  2. 2. var sizeAvatar = 20 adalah ukuran dari avatar / foto, ubah angkanya menurut selera anda
  3. 3. var excludeUsers = ["Hary Muhlia" silahkan ganti Hary Muhlia dengan nama sobat (agar nama sobat tidak nongol diatas sendiri)

Terimakasih dan..
SEMOGA BERMANFAAT...
Terima Kasih Atas Kunjungan Anda
Judul: Cara Membuat Top Komentar Dengan Avatar
Ditulis Oleh Hary Muhlia
DILARANG KERAS Copy Paste 100% artikel ini!!! Artikel ini dilindungi dengan setifikat DMCA.com Protection Status Protected, silahkan edit minimal 60% adalah hasil narasi anda sendiri dan jangan lupa sertakan link yang menuju ke artikel Cara Membuat Top Komentar Dengan Avatar ini sebagai sumbernya. Sesama blogger mari saling menghargai. Terima kasih atas perhatiannya

Bagikan ke

Iklan Anda
Berkomentar dengan
atau
silahkan tentukan pilihan sobat!

29 komentar:

  1. panjang bnget script nya sob, jadi takut. hehee

    BalasHapus
    Balasan
    1. hee,,,gpp sob,,kan di pasang di widget,bukan di template :)

      Hapus
  2. kreeen ia Gan top komentarnya.
    saya saimpan dulu Gan, nanti kalo ada waktu luang saya sempatkan untuk membuatnya.
    sukses selalu Gan.

    BalasHapus
  3. masih pake yang style.klo yang ini bikin berat ga sob?

    BalasHapus
    Balasan
    1. pengaruh juga sih sob,tp gk terlalu,klau menurut sy yg paling ringan yg cluod..

      Hapus
  4. saya masuk tuh jadi TOP komentator :D

    BalasHapus
    Balasan
    1. hee,,ya sob,,sekarang tmbh 1 lagi jadinya,,

      Hapus
  5. top komentarnya bisa tampil lebih bergaya kalau pakai avatar :)

    BalasHapus
    Balasan
    1. ya sob,,makasih...
      jd bisa kelihatan gambarnya

      Hapus
  6. berkunjung gan ^_^
    sekalian ijin follow blognya
    mungkin agan mau follow back >,<
    heheh
    mohon maaf kalau ada ksalahan kata
    terima kasih sblumnya

    BalasHapus
    Balasan
    1. makasih sebelumnya,,oh ya gpp
      nnti sy folback deh..hee

      Hapus
  7. trims untuk share nya sob, ini adalah salah satu yang penting untuk blog. sekalian Blogwalking sob....
    jgn lupa kunjungan balik ya sob,
    kebenaran saya baru posting tentang cara mudah meningkatkan PageRank (berdasarkan pengalaman pribadi loh sob, sayang kalo dilewatkan) heheh....
    kunjungi http://cherylaghniads.blogspot.com/2013/02/cara-mudah-meningkatkan-google-pagerank.html

    BalasHapus
  8. oke sob,,makasih knjungannya..

    BalasHapus
  9. .. numpank nyimak aja dech. gpp kan?!? he..86x ..

    BalasHapus
  10. , wah kapan2 bisa di coba nih. makasih sob.
    , hehe, nama saya ada di screenshotnya. :D

    BalasHapus
  11. wah keren ne sob, tapi sayangnya blog ku sudah penuh, heee

    BalasHapus
    Balasan
    1. hee,, kalau dh penuh di tambah lagi atuh..

      Hapus
  12. thanks ne sob, udh di pasang di blog http://omsambudy.blogspot.com, heee

    BalasHapus
  13. Kereennn, jangan lupa kunjungan baliknya ya mas bro..

    BalasHapus

1.Jangan lupa koment yah kawan,untuk mempererat silaturahim.
2.Komentar Tanpa Moderasi. Yang mau pasang Link,gunakan NAME/URL atau Open ID.
3.Silahkan kawan becanda,asal dengan etika.
4.Terimakasih kunjungan dan komentarnya kawan,Mohon maaf jika belum bisa berkunjung balik
5.Tetap tersenyum meskipun sedih.

© 2013 Harysukasuka - All Rights Reserved | Disclaimer | Privacy Policy
Template by IdleCreative
Back to Top