HOW YOU CAN SUPPORT UKRAINE

Онлайн заработок, создание и монетизация сайтов, веб-разработка, SEO и SMO продвижение, фриланс, партнерки, полезные сервисы вебмастерам, блоггинг.

Случайный пост в блоге BlogSpot

Случайные посты могут быть полезным для новых читателей или посетителей блога, которые только-только открывают ваш проект для себя. Наиболее часто эти ссылки располагают после постов или в сайдбаре. Мало кто будет просматривать весь архив блога, а, увидев несколько ссылок на другие материалы после статьи и найдя для себя что-то интересное, читатель обязательно по ним перейдет. Конечно, чаще всего в конце постов располагают не просто случайные ссылки, а те, которые связаны с тематикой статьи.
Размещая данный блок в сайдбаре, авторы часто совмещают его со списками последних статей и комментариев.

Перед тем, как перейти к описанию процесса установки, хочу сказать пару слов благодарности автору. Он ведет блог под названием «Немецкий дневник».

Спасибо за разработку! Заходите, читайте блог.

Установить случайные посты можно двумя способами – простым добавлением кода и с недавних пор с помощью виджета. Я рассмотрю оба варианта, так как это может пригодиться.

Вариант1.
Заходим в «Макет» — «Редактирование HTML», где перед закрывающимся тегом </head> добавляем код:


<script type="'text/javascript'">
 //<![CDATA[
 // declare some variables
 var blog_url = 'http://YOUR_BLOG_NAME.blogger.com'; // blog main url -> don't forget write your blog url
 var randomCnt = 5; // number of random links
 var donate = true; // if you want to say thank you, let this variable be true
// tests, if an element exists in given array
 function in_array(test_arr, test_number)
 {
 // create from array a string separated by #
 test_arr_str = test_arr.join('#');
 test_arr_str = '#' + test_arr_str + '#';
 
 // create search item to search in converted string
 test_number_str = '#' + test_number + '#';
 
 // look for search item in converted string
 test = test_arr_str.indexOf(test_number_str);
 return test;
 }
// show donate url
 function showDonatePost()
 {
 // url of donate post
 url = 'http://ametov.net';
 
 // get title of a post
 title = 'Ametov.net';
 
 titleData = document.createTextNode(title);
 tag_a = document.createElement('a');
 tag_a.href = url;
 tag_li = document.createElement('li');
 tag_li.id = 'donate_widget_random_posts';
 tag_a.appendChild(titleData);
 tag_li.appendChild(tag_a);
 document.getElementById('widget_random_posts').appendChild(tag_li);
 }
// make a post visible - show post url and title
 function showPost(root)
 {
 var feed = root.feed;
 var entries = feed.entry || [];
 var entry = feed.entry[0];
 
 for(var j=0; j<entry.link.length; j++)
 {
 if (entry.link[j].rel == 'alternate')
 {
 // get url of a post
 url = entry.link[j].href;
 
 // get title of a post
 title = entry.link[j].title;
 
 // if there is no title replace it with url
 if (title == '') title = url;
 
 titleData = document.createTextNode(title);
 tag_a = document.createElement('a');
 tag_a.href = url;
 tag_li = document.createElement('li');
 tag_a.appendChild(titleData);
 tag_li.appendChild(tag_a);
 if (donate)
 {
 document.getElementById('widget_random_posts').insertBefore(tag_li, document.getElementById('donate_widget_random_posts'));
 }
 else
 {
 document.getElementById('widget_random_posts').appendChild(tag_li);
 } 
 }
 }
 }
// get info as json string for given post
 function getPost(postNumber)
 {
 script = document.createElement('script');
 script.src = blog_url + '/feeds/posts/summary?start-index='+postNumber+'&amp;max-results=1&amp;alt=json-in-script&amp;callback=showPost';
 script.type = 'text/javascript';
 document.getElementsByTagName('head')[0].appendChild(script);
 }
// get random posts for given blog
 function getRandomPosts(root)
 {
 var feed = root.feed;
 var total = parseInt(feed.openSearch$totalResults.$t,10);
 var randomNumber, test;
 
 var random_numbers = new Array(randomCnt);
if (donate) showDonatePost();
   
 for (var i=0; i<randomCnt; i++)
 {
 randomNumber = -1;
 test = -1;
// this cicle is to avoid of post repeats
 do
 {
 randomNumber = Math.ceil(Math.random()*total);
 test = in_array(random_numbers, randomNumber);
 }
 while(test != -1)
 
 random_numbers[i] = randomNumber;
 getPost(randomNumber); 
 } 
 }
 
 // the main function, which get first number of posts and from which
 // would be called all other functions above
 function showRandomPosts()
 { 
 var script = document.createElement('script');
 script.type = 'text/javascript';
 script.src = blog_url + '/feeds/posts/summary?max-results=0&amp;alt=json-in-script&amp;callback=getRandomPosts';
 document.getElementsByTagName('head')[0].appendChild(script);
 }
//]]>
 </script>

Здесь в самом начале есть несколько параметров, на которые следует обратить внимание.

blog_url – ссылка на ваш блог (http://мой-блог.blogger.com)
randomCnt – количество случайных ссылок.
donate – ставите true, если захотите поблагодарить автора за скрипт и false в противном случае.

Далее в шаблоне или создав в сайдбаре элемент типа HTML/Javascript добавляем код:

<script type='text/javascript'>
// main function call
showRandomPosts();
</script>

<ul id='widget_random_posts'>
</ul>

Он отвечает непосредственно за вывод ссылок.

Вариант2. Виджет случайных постов.
В нем кода немного поменьше, так как скрипт располагается вне блога. Чтобы установить заходите в раздел панели управления «Макет», добавляете элемент типа HTML/JavaScript, куда вставляете код:

<script type='text/javascript'>
var blog_url = 'http://blogohelp.blogspot.com'; 
var randomCnt = 5; 
var donate = true; 
</script>
<script src='https://ametov.net/widgets/widget_random_posts.js' type='text/javascript'></script>
<script type='text/javascript'>
// main function call
showRandomPosts();
</script>
<ul id='widget_random_posts'>
</ul>

Здесь используются те же переменные, что и в предыдущем варианте.

Если есть какие-то вопросы, можете задавать в комментариях или на сайте автора скрипта. Не забывайте указывать в переменных адрес своего блога. Единственное, что у меня не получилось работать с BlogSpot проектом, у которого подключен купленный домен, а так работу виджета и самого скрипта я протестировал.

03.03.09

Категории: Blogger.com (Blogspot).

Теги: , , ,

Добавить комментарий

Ваш e-mail не публикуется. Обязательные поля помечены *
Если вы комментируете впервые, то текст будет отправлен на модерацию.