Шаг 1. Добавляем скрипт.
В "Дизайн"-"Изменить HTML"-. Перед </head> пишем:<script type='text/javascript'>
//<![CDATA[
var reltitulos = new Array();
var relurls = new Array();
var relimagen = new Array();
var reltituloscantidad = 0;
var relmaxamostrar = 4; // число записей, которые будут показаны
var relmaxlen = 100; // число символов первых предложений сообщений
var relimagenpodefecto = "адрес_изображения_по_умолчанию";
function leerpostetiquetas(json) {
var entry, postimg, postcontent, cat;
for (var i = 0; i < json.feed.entry.length; i++) {
entry = json.feed.entry[i];
if (i==json.feed.entry.length) { break; }
reltitulos[reltituloscantidad] = entry.title.$t;
postcontent = "";
if ("content" in entry) {
postcontent = entry.content.$t;
} else if ("summary" in entry) {
postcontent = entry.summary.$t;
}
if ("media$thumbnail" in entry) {
postimg = entry.media$thumbnail.url;
} else {
postimg = relimagenpodefecto;
}
relimagen[reltituloscantidad] = postimg;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
relurls[reltituloscantidad] = entry.link[k].href;
break;
}
}
reltituloscantidad++;
}
}
function mostrarrelacionados() {
var tmp = new Array(0);
var tmp2 = new Array(0);
var tmp3 = new Array(0);
var tmp4 = new Array(0);
for(var i = 0; i < relurls.length; i++) {
if(!contains(tmp, relurls[i])) {
tmp.length += 1; tmp[tmp.length - 1] = relurls[i];
tmp2.length += 1; tmp2[tmp2.length - 1] = reltitulos[i];
tmp4.length += 1; tmp4[tmp4.length - 1] = relimagen[i];
}
}
reltitulos = tmp2; relurls = tmp; relimagen = tmp4;
for(var i = 0; i < reltitulos.length; i++){
var indice = Math.floor((reltitulos.length - 1) * Math.random());
var tempTitle = reltitulos[i]; var tempUrls = relurls[i];
var tempImagen = relimagen[i];
reltitulos[i] = reltitulos[indice]; relurls[i] = relurls[indice];
relimagen[i] = relimagen[indice];
reltitulos[indice] = tempTitle; relurls[indice] = tempUrls;
relimagen[indice] = tempImagen;
}
var cuantosPosts = 0;
var r = Math.floor((reltitulos.length - 1) * Math.random());
var rini = r;
var salida;
var dirURL = document.URL;
while (cuantosPosts < relmaxamostrar) {
if (relurls[r] != dirURL) {
salida = "<div class='relsposts'>";
salida += "<a href='" + relurls[r] + "' title='" + reltitulos[r] + "'><img src='" + relimagen[r] + "' /><div>" + reltitulos[r] + "</div></a>"; // удалив " + reltitulos[r] + " не будет показан текст под изо
salida += "</div>";
document.write(salida);
cuantosPosts++;
if (cuantosPosts == relmaxamostrar) { break; }
}
if (r < reltitulos.length - 1) {
r++;
} else {
r = 0;
}
if(r==rini) { break; }
}
}
function eliminattags(cual,longitud){
var resumen = cual.split("<");
for(var i=0;i<resumen.length;i++){
if(resumen[i].indexOf(">")!=-1){
resumen[i] = resumen[i].substring(resumen[i].indexOf(">")+1,resumen[i].length);
}
}
resumen = resumen.join("");
resumen = resumen.substring(0,longitud-1);
return resumen;
}
function contains(a, e) {
for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
return false;
}
//]]>
</script>Дополнения
Обратим внимание на фрагмент:if ("media$thumbnail" in entry) {
postimg = entry.media$thumbnail.url;
} else {
postimg = relimagenpodefecto;
}В зависимости от целей заменяем его. Вариант 1. Для того, чтобы для каждого ярлыка задать индивидуальную картинку по умолчанию вышеописанный код изменим на:
if ("media$thumbnail" in entry) {
postimg = entry.media$thumbnail.url;
} else {
var cat = entry.category[0].term;
postimg = getimagen(cat);
}и перед //]]></script> добавляем:function getimagen(cat) {
var laimg = "URL-адрес_общих_изо_когда_нет_указанного_ниже_ярлыка";
if(cat=="ярлык_1"){laimg = "URL_изо_1"}
if(cat=="ярлык_2"){laimg = "URL_изо_2"}
// .......
return laimg;
}Вариант 2. Для того, чтобы увеличить размер изображения вышепоказанный код сменим на:
if ("media$thumbnail" in entry) {
postimg = entry.media$thumbnail.url;
postimg = postimg.replace('s72-c','s110-c');
} else {
postimg = relimagenpodefecto;
}Где вместо 's110-c' укажите свой размер (подробнее).Шаг 2. Создаём ещё одну линию после постов.
Код<div class='post-footer-line post-footer-line-2'><span class='post-labels'> <b:if cond='data:post.labels'> <data:postLabelsLabel/> <b:loop values='data:post.labels' var='label'> <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if> </b:loop> </b:if> </span> <div class='post-share-buttons goog-inline-block'> <b:if cond='data:post.sharePostUrl'> <b:include data='post' name='shareButtons'/> </b:if> </div> </div>заменяем на
<div class='post-footer-line post-footer-line-2'><span class='post-labels'> <b:if cond='data:post.labels'> <data:postLabelsLabel/> <b:loop values='data:post.labels' var='label'> <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if> <b:if cond='data:blog.pageType == "item"'> <script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=leerpostetiquetas&max-results=50"' type='text/javascript'/> </b:if> </b:loop> </b:if> </span> <div class='post-share-buttons goog-inline-block'> <b:if cond='data:post.sharePostUrl'> <b:include data='post' name='shareButtons'/> </b:if> </div> <b:if cond='data:blog.pageType == "item"'> <div id='postsrelacionados'> <script type='text/javascript'>mostrarrelacionados();</script> <div style='clear:both;'/> </div> </b:if> </div>, где max-results=50 - количество последних постов, из которых будут выбраны записи для отображения в "похожих статьях". Чем выше значение, тем загрузка станицы будет более медленная.
Шаг 3. Определить стиль гаджета.
До ]]></b:skin> вносим.relsposts {
float: left;
overflow: hidden;
padding: 5px;
text-align: center;
width: 20%;
height: 125px;
}
.relsposts img:hover {
background-image: -moz-linear-gradient(#fff, #ddcca3);
background-image: -webkit-gradient(linear, center top, center bottom, from(#fff), to(#ddcca3));
filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#fff,endColorStr=#ddcca3);
background-image:-o-linear-gradient(top,#fff,#ddcca3);
}
.relsposts a {
display: inline;
text-decoration: none;
}
.relsposts img {
padding: 5px;
background: #fff;
-moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, .5);
-webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, .5);
-goog-ms-box-shadow: 1px 1px 5px rgba(0, 0, 0, .5);
box-shadow: 1px 1px 5px rgba(0, 0, 0, .5);
}Образец
44 комментария:
http://blog-elchin-vahid.blogspot.com/p/useful-links-for-new-bloggers.html
shpargalkablog.ru - xороший конспект для начинающего блоггера.
1)выделите галочкой нужное сообщение,
2)меню "Действие с ярлыком",
3)"Удалить ярлык",
4)присваиваем верный ярлык.
var relimagenpodefecto = "адрес_изображения_по_умолчанию"; так и оставлять? или сюда нужно что-то вводить?
У меня в коде нет некоторых элементов вашего кода. Я бы хотела попробовать.
Шаг 2. Создаём ещё одну линию после постов.
Поэтому его не могу заменить. Что делать?
С уважением, Юлия
В целом код может несколько отличаться, так как уже внесены изменения с "хлебными крошками", да и социальных кнопок нет. Точный код здесь не подскажу, нужно смотреть шаблон, но идей такая:
<b:if cond='data:post.labels'>....здесь код</b:loop></b:if>здесь код
И этого кода (ну или хотя бы примерного) у меня нету:
....здесь кодздесь код
Подскажите пожалуйста!
https://sites.google.com/site/spargalka1/rating/template-4278504150036459330.xml?attredirects=0&d=1
Для примера - http://www.a-s-petrov.ru/2011/11/blog-post_19.html
Цитирую:
"Ничего не получается, нет кода -
"Шаг 2. Создаём ещё одну линию после постов.
У мя было то же самое. Заменил и так. Оказались две панели "поделиться" :)
У всех шаблоны разные просто :)
Сейчас буду вырезать лишнюю...
в двух последних вставках.
Как узнать, почему не работает?
Спасибо.
b:if cond='data:blog.pageType == "item"'>
/b:if>
How do I enable Post Pages?
http://support.google.com/blogger/bin/answer.py?hl=en&answer=42049&ctx=cb&src=cb&cbid=11vkrywlmjxv0&cbrank=2
но сейчас нет таких пунктов. Как быть?
Спасибо!
Условие показывает, что вывод постов требуется только в теле постов, а не на Главной.
Хотя уберите. К решению можно прийти несколькими способами. Один человек сказал, что если код работает, то вы выбрали правильное решение.
Только что увидел, что и в приведенном Вами примере на Главной странице нет ссылок на похожие статьи. А я бился увидеть их именно на главной, по незнанию.
Ведь ярлыки на главной отображаются.
http://shpargalkablog.ru/2011/03/pochemu-uhudshaetsya-foto-pri.html
http://shpargalkablog.ru/2011/05/kak-sdelat-galereyu-izobrazhenii.html
http://shpargalkablog.ru/2011/09/modalnoe-okno-blogger.html
Alexa, http://shpargalkablog.ru/2011/12/kak-izmenit-shablon-blogger.html
После изменения всех ссылок сообщений на ПОЛЬЗОВАТЕЛЬСКАЯ ПОСТОЯННАЯ ССЫЛКА у меня гаджет LinkWithin перестал видеть ссылки на все мои посты. Что делать, чтобы показывались похожие статьи?