Уважаемые читатели, друзья, подписчики. В связи с участившимся и, порядком надоевшим спамом в комментариях от всяких анонимах(будь они не ладны), я вынуждена включить модерацию комментариев на некоторое время. Очень надеюсь на ваше понимание.
Доброго времени суток, уважаемые читатели, друзья и гости блога. Хочу показать вам сегодня, как можно вывести на статичную страницу самых активных участников блога. Будут отображены аваторы участников в стиле polaroid, количество оставленных комментариев. Да и вообще оригинально смотрится на статичной странице. Попрошу посмотреть как это выглядитздесь. При малом количестве отзывов в блоге, код может не работать. Но если у вас достаточно комментируемый блог, всё отобразится корректно, именно так, как вы видели.
Сразу должна заострить ваше внимание на одной важной детали. При установке кода самых активных читателей на статичную страницу нужно сначала дать её название и сразу перейти в редакторе в режим HTML. Вставляем код и сразу публикуем. Не нужно обратно переходить в обычный режим. Иначе результата не будет. Код просто напросто "сломается".
Копируйте код к себе в блокнот, чтобы сделать несложные настройки.
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);
var cmtDate = new Date(datePart[0], datePart[1] - 1, datePart[2], datePart[3], datePart[4], datePart[5]);
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="' + homepage + '/feeds/comments/default?redirect=false&max-results=200&start-index=' + ndxbase + '&alt=json-in-script&callback=showTopCommenters"></' + 'script>');
return
}
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
});
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(replaceTopCmtVars(txtTopLine, item, realcount + 1));
realcount++
}
if (!realcount) document.write(txtNoTopCommenters)
}
document.write('<script type="text/javascript" src="' + homepage + '/feeds/comments/default?redirect=false&max-results=200&alt=json-in-script&callback=showTopCommenters"></' + 'script>');
//]]>
</script>
В строке, которая выделена красным вставьте адрес своего блога. И корректируйте анонимный, автор, как вам захочется. Если не хотите чтобы отображался ваш профиль - удалите "Автор".
Вот, собственно и все настройки. Будьте внимательны ко всем символам в коде. Если ещё и изменить дизайн самой страницы, о чём шла речь в этом сообщении, и покопаться в стилях CSS, то вообще всё будет просто супер.
И сегодня у меня всё. Все удачи и до новых встреч.
Идеей поделилась Amatullah Syukur, автор блога http://www.tipstrikblogging.com/.
Очень интересно, ещё бы пример где нибудь глянуть, как это выглядит.
ОтветитьУдалитьСаша, так я в начале статьи ссылку дала для наглядного примера. Вроде рабочая, проверила.
УдалитьВика, а просто читателей не показывает? Только комментаторов? потому что они данные своего профиля вводят, да?
ОтветитьУдалитьYana Yar-kaya, нет всех не показывает, только самых активных.
УдалитьТакая оригинальная фишка.. Смотрится здорово!
ОтветитьУдалитьСогласна с тобой. Твой аватор на фото попал.
УдалитьКартинка с мотыльком не отображается? Странно, вижу ее сейчас здесь в коментах..
УдалитьНет, Наташа. Всё отображается. Я имела в виду твоего мотылька на первой фотографии к посту. Попала.
УдалитьВсе равно не поняла где))
УдалитьМожет, глюк какой приключился..
Мой первый комент сегодня повторно сам здесь возник, сплошная мистика)
Наташа, всё нормально нет глюков. На фото, которое под названием этого поста.
УдалитьВсе, уяснила. Тут одно из двух.. Либо radikal шалит, либо.. снова не понимаю)
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалить