Привет Всем. Сегодня я вам расскажу, как установить виджет Топ комментаторов на  платформе blogspot. Устанавливать его нужо в Html/javaSkript
Первый скрипт будет без аватарок, только имена и количество комментариев
Второй скрипт такой же, только будут миниатюрные аватарки рядом.

Без Аватарок
<!-- Top commentators widget v1 Start --><script type="text/javascript">function getYpipe(feed) { document.write('<ol>'); var i; for (i = 0; i < feed.count ; i++) { var href = "'" + feed.value.items[i].link + "'"; if(feed.value.items[i].link == "")var item ="<li>" + feed.value.items[i].title + "</li>";elsevar item = "<li>" + "<a href="+ href + '" target="_blank">' + feed.value.items[i].title + "</a> </li>"; document.write(item); } document.write('</ol>'); } </script> <script src="http://pipes.yahoo.com/pipes/pipe.run? YourBlogUrl=http://www.bloggersentral.com &ExcludedNick1=Анна Шефер
 &ExcludedNick2= &ShowHowMany=10
 &_callback=getYpipe &_id=23022d7836bf2dd3c10a329feb9be26a &_render=json"type="text/javascript"></script><span style="font-size: 80%; float:right;">Get this <a href="http://www.bloggersentral.com/2009/06/creating-top-commentator-widget-in.html">widget</a></span><!-- Top commentators widget End -->
Этот скрипт взят от сюда http://www.bloggersentral.com/2009/06/creating-top-commentator-widget-in.html
ExcludedNick1=Анна Шефер  Впишите ваше имя, которое вы используете при ответе на комментарии, иначе  скрипт занесет и вас в Топ комментаторов.
Many=10 - количество комментаторов
http://www.bloggersentral.cоm - адрес вашего блога, где будете устанавливать скрипт.

С Aватарками

<style type="text/css">

.top-commenter-line img {

-webkit-border-radius: 100px;
-moz-border-radius: 100px;
border-radius: 100px;
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}

.top-commenter-line {margin: 3px 0;}
.top-commenter-line .profile-name-link {padding-left:0;}
.top-commenter-avatar {vertical-align:middle;}
</style>
<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://yabtb.blogspot.com/2012/05/top-commenters-gadget-with-avatars.html
//
// CONFIG:
var maxTopCommenters = 5;   // 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 = ["Anonymous", "Анна Шефер"];     // exclude these usernames
var maxUserNameLength = 36; // 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 = 36;
var cropAvatar = true;
//
var urlNoAvatar = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiivSSBB1okZHGSg6_LjAtGjy9M_MNv97L79b5PSlYg1Qo4YSMZ0QAjEpgCo_8NdPaVbC1HUMc-XjOobCOXu9vlw8Xiqq9rES1yxRpjwTUHfsHd1tG2vkmiqvdNEfAyN5C8C_IGwNpIg3I/"+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>

sizeAvatar = 36 - размер аватара
Anonymous", "Анна Шефер" - ваше имя
leastvar numDays = 30 - количество дней

TopCommenters = 5 - количество комментаторов

А этим кодом делился  Justus, но разработчики являются зарубежные блоггеры, к сожалению автора найти мне не удалось, так как многие блоги делятся этим кодом.


Система Orphus

Пожалуйста не забывайте нажать

22 коммент.:

  1. Как всегда полезная информация)

    http://beautyselective.blogspot.ru/

    ОтветитьУдалить
  2. Что-то у меня не получилось с аватарками установить. Выбираю гаджет HTML/JavaScript , вставляю туда код и всё? Куда я там должна вставить адрес своего блога?

    ОтветитьУдалить
    Ответы
    1. Ярослава, в коде была ошибка поправила, прошу прощения. С аватарки адрес блога ненужно писать. Адрес только без аватарок.

      Удалить
    2. что-то всё равно не получается. Мне нужно просто скопироваить весь этот текст и вставить?

      Удалить
    3. Да только вместо Анна Шефер вставить ваше

      Удалить
  3. Круто-круто!!!
    Всё получилось, спасибо тебе!!

    ОтветитьУдалить
  4. Аня,получается,что в комментариях с аваторками не надо вставлять свой адрес блога? Явзяла у Justus,у меня не получилось. Теперь пробую у тебя...посмотрим:)

    ОтветитьУдалить
  5. хи-хи,а с тобой всё ОК! Спасибо,мой хороший! Чмок!:)

    ОтветитьУдалить
  6. А вот у меня ничего не получается, уже несколько раз пробовала, но все так и висит пустым(((( что я могу делать не так? Подскажите, пожалуйста))))

    ОтветитьУдалить
    Ответы
    1. Татьяна вероятно это из-за того что у вас комментарии от гугл+ а данные скрипты не считывают количество комментариев из соц сетей, к сожалению и пока. Эти скрипты как в принципе и на вордпресе считывают количество комментариев только (в нашем случае) со стандартной коробки комментариев, как у меня.

      Удалить
  7. И снова С благодарностью : только что установил у себя в блоге , раньше видел везде , где только можно , а вот установил только лишь сейчас , благодаря Вашей статье . Спасибо .

    ОтветитьУдалить
  8. Спасибо, взяла для friendly bloggers ^_^

    ОтветитьУдалить
  9. Здравствуйте,хочу спросить про виджет, но похожуютему не нашла, пишу тут. Может вы знаете, как закруглить уголки виджетов(не картинок). Хочется немного оживить шаблон. Спасибо заранее :-?

    ОтветитьУдалить
    Ответы
    1. Марина. Всмысле боковые виджеты сделать круглыми?. Я где-то видела нечто подобное. Я уже с личными проблемамы не много разгреблась, поишу выложу.

      Удалить
    2. ага ладно, наверно поменяю шаблон Спасибо

      Удалить
  10. Всё отлично работает! Мы остановились на "топ" с картинками. И смотрится супер, здесь - pra-life.ru

    ОтветитьУдалить
  11. О! спасибо огромное! заработало! :)
    с аватарками - кра-со-та! :)

    ОтветитьУдалить
  12. А я сколько ни билась, а исключить себя из списка комментаторов так и не смогла...

    ОтветитьУдалить
    Ответы
    1. У меня такая же проблема! Ни как не могу убрать себя из списка! Иногда я в списке по два раза =(

      Удалить
  13. У меня такая же проблема! Ни как не могу убрать себя из списка! Иногда я в списке по два раза =(

    ОтветитьУдалить

Есть вопросы? Или просто хочется поговорить? Оставляйте комментарии