В этом гаджете показаны те страницы, которые пользователи просматривают чаще всего. Вот пример того, как он может выглядеть.
Как увеличить изображения в "Популярных сообщениях" от Blogspot
На вкладке Шаблон перед </head> добавить:
<script> function IzoPopularPosts() { document.getElementById('PopularPosts1').innerHTML = document.getElementById('PopularPosts1').innerHTML.replace(/s72-c/g, 's210-c'); } document.addEventListener( "DOMContentLoaded", IzoPopularPosts, false ); </script>изменить:
<b:widget id='PopularPosts1' locked='false' title='Популярные сообщения' type='PopularPosts'> <b:includable id='main'> <b:if cond='data:title'><h2><data:title/></h2></b:if> <div class='widget-content popular-posts'> <ul> <b:loop values='data:posts' var='post'> <li> <b:if cond='data:showThumbnails == "false"'> <b:if cond='data:showSnippets == "false"'> <!-- (1) No snippet/thumbnail --> <a expr:href='data:post.href'><data:post.title/></a> <b:else/> <!-- (2) Show only snippets --> <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div> <div class='item-snippet'><data:post.snippet/></div> </b:if> <b:else/> <b:if cond='data:showSnippets == "false"'> <!-- (3) Show only thumbnails --> <div class='item-thumbnail-only'> <b:if cond='data:post.thumbnail'> <div class='item-thumbnail'> <a expr:href='data:post.href' target='_blank'> <img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/> </a> </div> </b:if> <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div> </div> <div style='clear: both;'/> <b:else/> <!-- (4) Show snippets and thumbnails --> <div class='item-content'> <b:if cond='data:post.thumbnail'> <div class='item-thumbnail'> <a expr:href='data:post.href' target='_blank'> <img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/> </a> </div> </b:if> <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div> <div class='item-snippet'><data:post.snippet/></div> </div> <div style='clear: both;'/> </b:if> </b:if> </li> </b:loop> </ul> <b:include name='quickedit'/> </div> </b:includable> </b:widget>Вместо значения 210 указывайте своё. Подробности об особенностях URL картинок в Blogger.
Как сменить внешний вид
На вкладке Шаблон перед ]]></b:skin> добавить:
.PopularPosts .widget-content { /* общее поле */ } .PopularPosts .widget-content ul li { /* каждый из пунктов */ } .PopularPosts .item-title { /* название сообщения */ } .PopularPosts .item-thumbnail { /* поле с изображениями */ } .PopularPosts img { /* изображения */ }
Например, мне больше нравится когда каждый элемент списка имеет своё поле, а шрифт меньше установленного для статьи:
.PopularPosts .widget-content {font-size: small;} .PopularPosts .widget-content ul li { background: #fff; margin: 5px 0; padding: 3px; border: 1px solid rgb(221, 221, 221); border-radius: 5px; }
В "Популярных сообщениях" сделать картинки в ряд или сеткой
Перед </head> добавить:
<script> function IzoPopularPosts() { document.getElementById('PopularPosts1').innerHTML = document.getElementById('PopularPosts1').innerHTML.replace(/s72-c/g, 's00'); } document.addEventListener( "DOMContentLoaded", IzoPopularPosts, false ); </script>
Исходный код (см. выше) привести к виду:
<b:widget id='PopularPosts1' locked='false' title='Популярные сообщения' type='PopularPosts'> <b:includable id='main'> <b:if cond='data:title'><h2><data:title/></h2></b:if> <div class='widget-content popular-posts'> <style> .imgPopularPosts { display: block; width: calc(100%/4 - 1%*3/4); /* из расчёта, что в ряду будет 4 изображения */ float: left; margin-right: 1%; } .imgPopularPosts:nth-of-type(4n) { /* из расчёта, что в ряду будет 4 изображения */ margin-right: 0; } .imgPopularPosts img { padding: 0; } </style> <b:loop values='data:posts' var='post'> <a expr:href='data:post.href' expr:title='data:post.title' target='_blank' class="imgPopularPosts"> <b:if cond='data:post.thumbnail'> <img alt='' expr:src='data:post.thumbnail' height='80' width='100%'/> <!-- высота картинки 80px --> <b:else/> <img expr:alt='data:post.title' height='80' src='свой_адрес_альтернативного_изображения' width='100%'/> <!-- если в популярном сообщении отсутствует картинка, то её заменит это фото --> </b:if> </a> </b:loop> <b:include name='quickedit'/> </div> </b:includable> </b:widget>
Почему не отображаются изображения в "Популярных сообщениях"
Несколько человек у меня поинтересовалось, почему некоторые картинки не видны. Ответ мы узнаем, если заглянем в исходный код страницы. Дело в том, что в скрипт заложен вид URL-адреса изображения, ориентированный на альбом Google+. Его структура в <img height="" src="URL-адрес" width="" alt=""/> на вкладке "Изменить HTML" должна выглядеть как:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYX6R702RCpgqEmv1IRua2TwxrfOIhcwVk0APaf9B_y2ehcUUygB4VPT0zn1FxXZhoo9oivWgSOwGp-VjjLynlEN-rzLaMW6AWKgVZnFIUXSCn7OZp6pyUuWjrhgENEJVp3gE92C1lJUHe/s1600/populyarnye-soobshcheniya-Blogger.png
При использовании внешнего редактора, например, Windows Live Writer, картинки также попадают в Google+, но имеют другой адрес:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNPbHw8Wpx6tuw87uts1Rxg5Vyne32qnbb1vVmSKTgElDdzNSq5Eb4m7At2TR7-twbhQ11F8M8JgZ_Rh4_IX-JrJRDwxg2fqvXxayu7ACwIWrYBXFMnEjYTAvY14L6FBDX9gBTPFsG2tk/?imgmax=800Его мы скорректируем под наш формат:
http://lh3.ggpht.com/_VgypggpIQxU/TW-h-cL2u4I/AAAAAAAAAYI/a_T0I1STUlI/s800/41002%5B7%5D.jpgудалив все символы после знака вопроса включительно и добавив s800. Обратите внимание, что цифра 800 присутствует в конце исходного URL.
источник
Комментариев нет:
Отправить комментарий