Uma secção com uma lista de tabs para diferentes categorias de posts (popular, recentes, comentário, etc.) é uma funcionalidade muito popular em blogs e sites.
Vou mostrar como implementar um conjunto de tabs para artigos populares / recentes no template do Blogger. Isto é o que queremos fazer:
Se não sabe como criar uma listagem de posts recentes veja o meu artigo sobre como criar um widget de posts recentes no Blogger.
Terá que incluir as referências necessárias ao jQuery e jQueryUI no seu template do Blogger.
Terá que incluir também o widget Popular Posts no seu template, se ainda não o fez.
De seguida, na página de administração do seu blog, vá à secção Template (do lado direito). Clique em “Edit HTML”. Copie todo o código para um ficheiro xml no seu computador.
Vamos editar este ficheiro.
Procure pelo widget PopularPosts no ficheiro. Substitua-o com o seguinte (quando substituir o widget certifique-se que usa o mesmo ID que o widget original):
<b:widget id='PopularPosts1' locked='false' title='Popular Posts' type='PopularPosts'>
<b:includable id='main'>
<div class="block">
<div id="tabs">
<ul>
<li><a href="#popular-posts">Popular</a></li>
<li><a href="#recent-posts">Recent</a></li>
</ul>
<div id="popular-posts">
<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>
</div>
<div id="recent-posts">
<div class='widget-content popular-posts'>
<div id="recentposts"> </div>
<script type="text/javascript">
displayRecentArticles({'containerSelector': '#recentposts'});
</script>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$("#tabs").tabs();
});
</script>
</div>
</b:includable>
</b:widget>
O que mudou:
- Coloquei algumas divs à volta do código dos Popular Posts
- Acrescentei no fim uma div para os posts recentes, logo a seguir aos posts populares
- Acrescentei um ul para o cabeçalho das tabs (como é necessário no jQueryUI)
- Acrescentei o script no final para que o jQueryUI crie o interface de tabs
Não esqueça:
- Inclua a referência para o jQuery e jQueryUI na secção head
- Os posts recentes apenas funcionarão se seguir estas instruções.