суббота, 2 августа 2014 г.

Архив для Blogger-а на статической странице

Создаем статическую страницу архива для платформы Blogger

Отдельная статическая страница архива для Blogger  И снова здравствуйте! Друзья, в сегодняшнем посте расскажу вам о том, как сделать статическую страницу архива для своей любимой платформы Blogger. И тут же хочу добавить, что как кого, но меня тот факт, что я наконец-то снова смогу
создать адекватный архив в своем блог, очень порадовал, так как до этого мне довольно продолжительное время не удавалось найти какую-либо нужную информацию об этом. Почему "снова", вы узнаете дальше. Хотя, если признаться честно, особо я и не искал инфу об этом - надеялся, что она меня сама найдет :-) Так оно и случилось.

 И прежде, чем мы перейдем к основному, расскажу о интересном случаи, произошедшем где-то около полу года назад (приблизительно) в "тусовке" пользователей блог-платформой Blogger, который вызвал небольшой кипишь. Довольно многие блогеры на тот момент, в том числе и я, уже использовали на своих ресурсах архив размещающийся на статической странице. К примеру, мне не подходит стандартный виджет архива выводимый в сайдбаре, который нам предлагает Blogger из-за того, что он занимает много места, которое можно использовать более эффективно; увеличивает загрузку сайта; и вообще, как на меня, выглядит не очень-то эстетично. Во общем, те из блогеров, кто также выбрал для себя вариант статического архива, применяли для этого специальный скрипт из внешнего источника ведущего на один, как впоследствии оказалось, не очень-то хороший сайт. Со временем на этом сайте появилось какое-то опасное содержимое, которое пыталось заражать компьютеры посетителей. В итоге, этот сайт попал под всевозможные фильтры браузеров, а вместе с ним под фильтры попали и блоги, на которых был размещен скрипт архива из данного сайта, как распространители информации об этом сайте. Отчасти, на сегодня уже удалось кое-как уладить эту неприятность, но неприятный осадок остался. Кроме того, после всего произошедшего на моих блогах отведенные страницы для архивов оставались просто-напросто пустыми - в интернете не было информации о другом способе реализовать в блоге нужную мне отдельную страницу с архивом. А возможно и была, но сильно уж скрывалась от ленивой общественности :-) И что меня сейчас особо радует, так это то, что скрипт, который я вам предложу здесь, не ведет ни на какие внешние источники и поэтому подобные проблемы больше не должны возникнуть.

Как создать статическую страницу архива для Blogger

 Итак, перейдем теперь к основному: как же убрать виджет "Архив блога" с боковой панели Bloger-a и вывести весь архив на отдельную статическую страницу. Еще раз повторюсь, что кроме того, что при этом вы освободите больше места для других более полезных виджетов или той же рекламы, так еще и отдельная страница с архивом выглядит более пропорционально и довольно удобна для посетителей.

 Хочу сразу же вас обрадовать, что сам процесс создания архива очень и очень прост. На самом деле чтение этого текст заняло у вас гораздо больше времени :-) Все, что от вас потребуется, так это перейти в панель инструментов Blogger, далее в раздел "Страницы", ну и соответственно "Создать страницу". Теперь придумываем ей название, думаю далеко для этого ходить не придется :-) и вписываем слово "Архив", ну или "Содержание"(кому как удобно), в место для заголовка. После переходим в режим создания статей HTML и вставляем следующий код:

<script> var blog_archive = []; var month_name = ["January", "February", "March", "April", "May","June", "July", "August", "September", "October", "November", "December"]; function blog_archive_callback(json){  if(!("entry" in json.feed)) return;  for(var i=0;i<json.feed.entry.length;i++){   var e=json.feed.entry[i];   var y=e.published.$t.substring(0, 4);   var m=e.published.$t.substring(5, 7);   var d=e.published.$t.substring(8, 10);   var h='';   for(var j=0;j<e.link.length;j++){    if(e.link[j].rel=="alternate"){     h=e.link[j].href;     break    }   }   if(h=='')continue;   if(typeof blog_archive[y]=="undefined") blog_archive[y]=[];   if(typeof blog_archive[y][m]=="undefined") blog_archive[y][m]=[];   if(typeof blog_archive[y][m][d]=="undefined") blog_archive[y][m][d]=[];   blog_archive[y][m][d].push("<a href='"+h+"'>"+e.title.$t+"</a>");  } } function blog_archive_display(){  var years = []; for ( y in blog_archive ) years.push(y);  if(years.length<1) return;  years.sort();  years.reverse();  for(var y=0;y<years.length;y++){   var year = years[y];   var months = []; for ( m in blog_archive[year] ) months.push(m);   if(months.length<1) continue;   months.sort();   months.reverse();   for(var m=0;m<months.length;m++){    var month = months[m];    document.write("<p><b><a href='/"+ year +"_"+ month +"_01_archive.html'>"+ month_name[parseInt(month)-1] +" "+ year +"</a></b></p>");    var days = []; for ( d in blog_archive[year][month] ) days.push(d);    if(days.length<1) continue;    days.sort();    days.reverse();    document.write("<ul>");    for(var d=0;d<days.length;d++){     var day = days[d];     if(blog_archive[year][month][day].length<1) continue;     for(var i in blog_archive[year][month][day]) {      document.write("<li>["+ day +"] "+ blog_archive[year][month][day][i] +"</li>");     }    }    document.write("</ul>");   }  } } </script> <script src="#####/feeds/posts/default?max-results=999&alt=json-in-script&callback=blog_archive_callback"></script> <script>blog_archive_display();</script>

 Во всем этом наборе непонятных иероглифов :-) вам нужно изменить лишь одно: внизу этого кода вместо "#####" подставляем URL-адрес своего блога. Вот пожалуй и все, дорогие друзья, жмем опубликовать и ваша статическая страница с архивом готова. Всем удачи и до встречи в новых публикациях!

ЧТОБЫ ЕЩЕ ПОЧИТАТЬ:

5 комментариев:

  1. Спасибо! успешно воспользовалась:) Очень быстро и удобно!

    ОтветитьУдалить
    Ответы
    1. И вам спасибо! Рад, что статья была столь полезной для вас.

      Удалить
  2. Спасибо! Всё получилось с первого раза

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

Следующие Предыдущие