Похожие сообщения (related post) для Blogger

Просмотров: 292

Приветствую вас, дорогие друзья! Вот и снова я, собственной персоной, спешу на всех парусах поделиться с вами новинками, а именно, классными виджетами для Blogger. Для того, чтобы было из чего выбирать, их будет несколько. Виджет - похожие сообщения с миниатюрами (related post thumbnail) и еще пару - похожие статьи без картинок.

Похожие статьи Blogger
Похожие статьи в Blogger с миниатюрами

Не буду вам описывать для чего они нужны, вы и сами всё отлично знаете. Лучше сразу перейдем к пошаговой установке виджетов в блог на Blogger.

Первым у нас пойдет:

Виджет Blogger - похожие сообщения с картинками/миниатюрами

Вот так он будет выглядеть:

pohozhie-soobschenija-s-miniatjurami
Виджет - похожие сообщения с миниатюрами

А здесь, в демо блоге его можно пощупать. Для тех кому понравился этот стильный гаджет и хочет его установить, найдите в шаблоне своего строчку </head> 

head-teg
Найти нужный тег

И чуть ниже вставляем стиль виджета:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<style type='text/css'>
/*****************************************
Name : Widget Related Post Thumbnail
******************************************/
#bdrsrelated-thumbnail {
background:#cccccc;
padding:1px;
margin:10px auto;
}
#bdrsrelated-thumbnail h2{
color: #00CCFF;
margin:0;
padding:5px 0 10px 0;
font-family: Georgia;
font-style: italic;
font-weight: bold;
text-shadow: 1px 1px 2px #000;
text-align: center;
}
#bdrsrelated-thumbnail a{
position:relative;
padding:15px;
margin:13px;
color:#990000;
background:#eee;
border-radius:10px;
font-family: Verdana;
font-size: 14px;
font-style: italic;
font-weight: bold;
border: solid #999999 1px;
background-color: #F4F4F4;
}
#bdrsrelated-thumbnail a:after {
content:"";
display:block;
position:absolute;
top:-30px;
left:45px;
width:0;
height:0;
border:15px solid transparent;
border-bottom-color:#F4F4F4;
}
#bdrsrelated-thumbnail a:hover{
background-color:#999999;
}
#bdrsrelated-thumbnail a:hover:after {
content:"";
display:block;
position:absolute;
top:-30px;
left:45px;
width:0;
height:0;
border:15px solid transparent;
border-bottom-color:#999999;
}/* CSS end Widget Related Post Thumbnail */
</style>
<script type='text/javascript'>
var defaultnoimage=&quot;http://4.bp.blogspot.com/-vfA36HQetAQ/UkBmDD_cN9I/AAAAAAAAB2Q/TTADbwWFavo/s1600/no-gambar.jpg&quot;;
var maxresults=4;
var splittercolor="";
var relatedpoststitle=&#39;Похожие сообщения&#39;
</script>
<script src='здесь ссылка на скрипт' type='text/javascript'/>
</b:if>

Затем, скачиваем скрипт с Яндекс. Диск и в коде ставим ссылку на него. Тут в коде можно выставить сколько выводить связанных постов, по умолчанию стоит 4. Так же здесь, настаиваются цвета, размер шрифта, пишите подпись над виджетом свою и так далее. Следующий шаг такой, в шаблоне надо найти одну из этих строчек:

<data:post.body/> таких бывает три, вставлять после второй или третьей

<div class='post-footer-line post-footer-line-1'>

<div class='post-footer-line post-footer-line-2'/>

<div class='post-footer-line post-footer-line-3'/>

У всех строение шаблона разные, по этому вывод похожих сообщений пробуем вставить чуть ниже из одной найденных строчек. У меня в демонстрационном блоге получилось вывести после последней. Код такой:

<!--start related posts-->
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='bdrsrelated-thumbnail'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast != &quot;true&quot;'>
</b:if>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels_thumbs&amp;max-results=4&quot;' type='text/javascript'/></b:loop>
<script type='text/javascript'>
removeRelatedDuplicates_thumbs();
printRelatedLabels_thumbs(&quot;<data:post.url/>&quot;);
</script>
</div>
<div style='clear:both'/>
</b:if>
<!--end related posts-->

Следующий:

Виджет Blogger похожие сообщения без миниатюр, с иконкой и текстом

Некоторые пользователи предпочитают именно такой гаджет без изображений. Тоже очень красиво смотрится:

pohozhie-soobschenija
Виджет похожие сообщения без миниатюр

Демо будете смотреть? Если хотите пройдите по ссылке - http://vidzhety-i-gadzhety.blogspot.ru/2013/06/vidzhety-dlja-blogger.html. Для такого виджета, код CSS:

#related-posts { float : left; width : 480px; margin-top:20px; margin-left : 5px; margin-bottom:20px; font : 11px Verdana; font-weight: bold; margin-bottom:10px; } #related-posts .widget { list-style-type : none; margin : 5px 0 5px 0; padding : 0; } #related-posts .widget h2, #related-posts h2 { font-size : 20px; font-weight: bold; margin : 5px 7px 0; padding : 0 0 5px; } #related-posts a { text-decoration : none; } #related-posts a:hover { text-decoration : none; } #related-posts ul { border : medium none; margin : 10px; padding : 0; } #related-posts ul li { display : block; background : url(&quot;&quot;) no-repeat 0 0; margin : 0; padding-top : 0; padding-right : 0; padding-bottom : 1px; padding-left : 21px; margin-bottom : 5px; line-height : 2em; border-bottom:1px dotted #cccccc; } #related-posts ul li{background:transparent url(http://1.bp.blogspot.com/-LZRTi6LiSXc/UfOaqASxwSI/AAAAAAAABlU/TcibyuwSwJo/s1600/ico-rss.jpg) no-repeat ;display:block;list-style-type:none;margin-bottom: 13px;padding-left: 30px;padding-top:0px;} #related-posts ul li a {block;color: #222}#related-posts ul li a:hover {block;
color: #990000;
}

Вставить его нужно чуть выше тега ]]></b:skin>, а найти его можно в шаблоне вашего блога, надо только нажать на стрелочку (раскрыть код) и прокрутить потом немного, а у кого то много, вниз:

stili-v-bloge
Раскрываем код
skin
Прокрутить вниз и вот она искомая строчка. Ура,нашлась

После этой нелегкой (для начинающих) процедуры, ищем опять те же строчки (выше указаны, чтобы не повторяться) и после одной из найденной чуть ниже встраиваем такой небольшой скрипт (у меня в стандартном шаблоне я вывел после этой строчки <div class='post-footer-line post-footer-line-3'/>):

<b:if cond='data:blog.pageType == "item"'>
<div id="related-posts">
<font face='Arial' size='3'><b>Похожие статьи:</b>
</font><font color='#FFFFFF'><b:loop values='data:post.labels' var='label'>
<data:label.name/>
<b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type="text/javascript">
var relatedTitles=new Array();var relatedTitlesNum=0;
var relatedUrls=new Array();function related_results_labels(json)
{for(var i=0;i<json.feed.entry.length;i++)
{var entry=json.feed.entry[i];relatedTitles[relatedTitlesNum]=
entry.title.$t;for(var k=0;k<entry.link.length;k++){if(entry.link[k].rel=='alternate')
{relatedUrls[relatedTitlesNum]=entry.link[k].href;relatedTitlesNum++;break;}}}}
function removeRelatedDuplicates(){var tmp=new Array(0);var tmp2=new Array(0);
for(var i=0;i<relatedUrls.length;i++){if
(!contains(tmp,relatedUrls[i])){tmp.length+=1;tmp[tmp.length- 1]=
relatedUrls[i];tmp2.length+=1;tmp2[tmp2.length- 1]=relatedTitles[i];}}
relatedTitles=tmp2;relatedUrls=tmp;}
function contains(a,e){for(var j=0;j<a.length;j++)if(a[j]==e)return true;return false;}
function printRelatedLabels(){var r=Math.floor((relatedTitles.length- 1)*
Math.random());var i=0;document.write('<ul>');
while(i<relatedTitles.length&amp;&amp;i<20)
{document.write('<li><a href=&quot;'+ relatedUrls[r]+'&quot;>'+
relatedTitles[r]+'</a></li>');if(r<relatedTitles.length- 1){r++;}else{r=0;}
i++;}
document.write('</ul>');document.write();}
</script>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name +
&quot;?alt=json-in-script&amp;callback=related_results_labels&amp;
max-results=5&quot;' type='text/javascript'/>
</b:if></b:loop></font>
<script type='text/javascript'> removeRelatedDuplicates(); printRelatedLabels();</script>
</div></b:if>

Так, с этим виджетом мы разобрались, идем дальше. Следующий на очереди очень стильный виджет, просто супер.

Blogger виджет похожие сообщения без миниатюр

Самые популярные Facebook; Twitter и Google plus:

pohozhie-soobshhenija
Похожие сообщения с иконками соцсетей

Данный виджет я пытался установить (два дня) в разные блоги, где то выходило криво, где то ещё, что то было не так. Получилось все таки этот интересный виджет вставить сюда http://iris-rustemplate.blogspot.ru/2011/10/blog-post_7301.html и то, я менял обтекание иконок текстом справа налево и так далее.  В итоге я пришёл к выводу его вам наверное будет трудно реализовать, но попытаться можно. Желательно связанные посты выводить сразу после статьи, то есть, вставлять скрипт ниже строчки <data:post.body/>. Стиль для этого виджета такой:

/*****************************************
Name : widget related post blogspot
******************************************/
#bdrs_relpost {
width: 550px;
margin:5px auto;
border:solid #CCCCCC 1px;
height:170px;
padding:5px;
border-radius:10px;
background: url('http://1.bp.blogspot.com/-UScR7Gp-kY4/UoYqyiaWi-I/AAAAAAAACCM/nLmYi_AFHtg/s1600/masalah.gif') 0px 100% no-repeat;
}
#bdrs_relpost .BD_random_title {
list-style-type: none;
width: 100%;
padding: 10px;
text-align: right;
margin-right:39px;
}
#bdrs_relpost .BD_random_title a {
font: 10px Verdana, Arial, Helvetica, sans-serif;
color: #000;
line-height:12px;
letter-spacing:0.1em;
text-decoration: none;
display:block;
padding:2px 6px 5px 8px;
}
#bdrs_relpost .BD_random_title a:hover {
color:#990000;
text-transform: none;
}
#bdrs_relpost .navbox {
position: relative;
float: right;
background: url('http://4.bp.blogspot.com/-lgMnsTAoQ4c/UoYsFRQlLdI/AAAAAAAACCY/Hy04dlbNLLA/s1600/back.png') no-repeat 0% 0%;
display: block;
width: 140px;
position: relative;
padding:2px 0 5px 14px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
#bdrs_relpost li {
margin: 5px 0 0 0;
list-style-type: none;
}
#bdrs_relpost .fb li a {
background: url('http://4.bp.blogspot.com/-BOhfbJQvXyY/UoYqRO999bI/AAAAAAAACB0/O8FtwqC6stA/s1600/RFB.png') no-repeat -12px 0;
color: #0546DC;
padding: 15px 15px 15px 45px;
width: 100px;
display: block;
text-decoration: none;
margin:-4px 0 -10px -40px;
}#bdrs_relpost .fb li a:hover {
background:url('http://4.bp.blogspot.com/-BOhfbJQvXyY/UoYqRO999bI/AAAAAAAACB0/O8FtwqC6stA/s1600/RFB.png') no-repeat 12px 0;
color: #01446B;
padding: 15px 15px 15px 65px;
}
#bdrs_relpost .tw li a {
background: url('http://3.bp.blogspot.com/-z51I5U3Z-_0/UoYqRi5C4-I/AAAAAAAACB8/0mZ5gk4oVeE/s1600/RTW.png') no-repeat -12px 0;
color: #009999;
padding: 15px 15px 15px 45px;
width: 100px;
display: block;
text-decoration: none;
margin:0 0 -10px -40px;
}#bdrs_relpost .tw li a:hover {
background:url('http://3.bp.blogspot.com/-z51I5U3Z-_0/UoYqRi5C4-I/AAAAAAAACB8/0mZ5gk4oVeE/s1600/RTW.png') no-repeat 12px 0;
color: #00CCCC;
padding: 15px 15px 15px 65px;
}
#bdrs_relpost .gw li a {
background: url('http://3.bp.blogspot.com/-K1rgv_dhlYs/UoYqiTc24iI/AAAAAAAACCE/qwTVuPPq27o/s1600/gpluss.png') no-repeat -12px 0;
color: #FF6633;
padding: 15px 15px 15px 45px;
width: 100px;
display: block;
text-decoration: none;
margin:0 0 0 -40px;
}#bdrs_relpost .gw li a:hover {
background:url('http://3.bp.blogspot.com/-K1rgv_dhlYs/UoYqiTc24iI/AAAAAAAACCE/qwTVuPPq27o/s1600/gpluss.png') no-repeat 12px 0;
color: #CC0000;
padding: 15px 15px 15px 65px;
}
/*code CSS end */

Код скрипта:

<!-- widget related post blogspot code start -->
<div id='bdrs_relpost'>
<div style=' float:right '>
<div class='navbox'>
<ul class='fb'>
<li><a href='ССЫЛКА НА ПРОФИЛЬ FACEBOOK'>facebook</a></li></ul>
<ul class='tw'>
<li><a href='ССЫЛКА НА ПРОФИЛЬ TWITTER'>Twitter</a></li></ul>
<ul class='gw'>
<li><a href='ССЫЛКА НА ПРОФИЛЬ GOGLE PLUS'>Gplus</a></li>
</ul></div><div style='float:left'>
<div class='BD_random_title'>
<b:loop values='data:post.labels' var='label'>
<data:label.name/>
<b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
var relatedTitles=new Array();var relatedTitlesNum=0;
var relatedUrls=new Array();function related_results_labels(json)
{for(var i=0;i<json.feed.entry.length;i++)
{var entry=json.feed.entry[i];relatedTitles[relatedTitlesNum]=
entry.title.$t;for(var k=0;k<entry.link.length;k++){if(entry.link[k].rel==&#39;alternate&#39;)
{relatedUrls[relatedTitlesNum]=entry.link[k].href;relatedTitlesNum++;break;}}}}
function removeRelatedDuplicates(){var tmp=new Array(0);var tmp2=new Array(0);
for(var i=0;i<relatedUrls.length;i++){if
(!contains(tmp,relatedUrls[i])){tmp.length+=1;tmp[tmp.length- 1]=
relatedUrls[i];tmp2.length+=1;tmp2[tmp2.length- 1]=relatedTitles[i];}}
relatedTitles=tmp2;relatedUrls=tmp;}
function contains(a,e){for(var j=0;j<a.length;j++)if(a[j]==e)return true;return false;}
function printRelatedLabels(){var r=Math.floor((relatedTitles.length- 1)*
Math.random());var i=0;document.write(&#39;<ul>&#39;);
while(i<relatedTitles.length&amp;&amp;i<20)
{document.write(&#39;<li><a href=&quot;&#39;+ relatedUrls[r]+&#39;&quot;>&#39;+
relatedTitles[r]+&#39;</a></li>&#39;);if(r<relatedTitles.length- 1){r++;}else{r=0;}
i++;}
document.write(&#39;</ul>&#39;);document.write();}
</script>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&amp; max-results=5&quot;' type='text/javascript'/>
</b:if></b:loop>
<script type='text/javascript'> removeRelatedDuplicates(); printRelatedLabels();</script>
</div></div>
</div></div>
<!-- widget related post blogspot code end -->

Вставьте ссылки на свои социальные сети. Дерзайте. Отпишитесь пожалуйста, как у вас получается. Буду ждать. Надеюсь было полезно вам. А я прощаюсь с вами не надолго. До новых встреч. Удачи.

Виджеты взяты у индонезийского товарища - rivai-silaban

Всего доброго, Сергей


28 комментариев к “Похожие сообщения (related post) для Blogger”

  1. Сергей добрый день. Вот я насчёт первого варианта. Я перешла по Вашей ссылке на яндекс диск. Там стоит( для общего пользования. )-можно эту ссылку ставить в код CSS? Дело в том, что я всё храню у себя в компьютере. Или обязательно надо через хостинг-я имею ввиду ссылка на скрипт.

    Ответить
  2. Спасибо за полезный пост. Я разместил виджет «похожие сообщения без миниатюр, с иконкой и текстом».Скажите, пожалуйста, как можно изменить количество выводимых сообщений, чтобы их было, к примеру, только 5 под каждым сообщением.

    Ответить
  3. Добрый день.
    Виджет без миниатюр с иконкой. отображает максимум 2 сообщения.
    Не подскажите в чем может быть причина?
    нашел кусок кода:
    ; max-results=6"’

    подумал что цифра отвечает за кол-во сообщений.
    Но изменение цифры ничего не дает.(

    А также интересует вопрос — существует ли способ добавить «похожие сообщения» в виджет?
    Спасибо.

    Ответить
    • Привет, Леонид! Всё правильно max-results=6 отвечает за количество выводимых статей.У вас мало статей в блоге, соответственно мало и ярлыков, в этом и есть причина. Пишите больше.
      «А также интересует вопрос — существует ли способ добавить «похожие сообщения» в виджет?-Ни разу не задавался таким вопросом, обычно используют случайные сообщения, последние сообщения.Попробуйте код вставить в гаджет HTML/JavaScript.

      Ответить
  4. хм, я просто не силен в скриптах.
    И вот непонятно каким образом он выводит ссылки.
    Я думал случайным образом из множества ярлыков.
    Допустим по ярлыку «культура» на сайте 4 сообщения, думал что как минимум 4 сообщения и должны выводиться)
    То есть скрипт, по моему скромному мнению, не совсем рационально отбирает информацию)
    Способы с миниатюрой получше это делают)
    Но в нижний виджет не получилось запихнуть, а вверху занимают «слишком много» места.
    Вот и подумал поставить текстовый способ. Но..
    Наверно буду искать еще способы)

    Ответить
    • Леонид, «И вот непонятно каким образом он выводит ссылки.Я думал случайным образом из множества ярлыков» — Всё правильно думали, вот когда у вас будет достаточно статей и ярлыков, тогда будете предъявлять претензии к скрипту, а с 4 ярлыками это делать глупо.

      Ответить
  5. Здравствуйте, большое спасибо!!) перепробовал уже вариантов 10 до того как наткнулся на ваш сайт! Поставил второй виджет, все встало с первого раза и работает отлично!!

    Ответить
      • Теперь только так буду делать) поковырялся у вас, много интересного контента! после НГ буду читать и учиться) С Наступайщим!))

        Ответить
        • И вас с наступающим 2015 годом 🙂 Жду вас после продолжительных праздников.

          Ответить
  6. Здравствуйте Сергей! С наступающим Рождеством вас! сразу не заметил когда установил код (второй) , в каждой статье он предлагает 7 похожих! как можно изменить количество? до 4 например?

    Ответить
      • У меня на сайте нормально работает виджет «Похожие сообщения», подскажите как сделать так чтобы этот виджет отображался в мобильной версии сайта?

        Ответить
    • Здравствуйте, Виктория!
      Вы же не будете останавливаться от одной не удачи, пробуйте ещё раз. Может где ошиблись. 🙂

      Ответить
  7. Пробую, но пока без результата.
    Второй код вставляю после (из нашла в шаблоне 2, после второго)

    Ответить
    • Пробовать вставлять код можно под разные. В каждом шаблоне по разному, поэтому методом тыка.

      Ответить
  8. Перепробовав многие виджеты, именно один из этих заработал,
    Спасибо большое за то, что так все подробно расписываете и отвечаете на вопросы.
    И большое спасибо за такой сайт как ваш, где можно найти массу информации, необходимой для улучшения своего блога

    Ответить

Оставьте комментарий