Estatísticas

posts publicados
comentários
Custom: My Blog Series

16/10/2009

Paginação sem complicação em widget

paginacao
Para ter a opção de navegação por páginas, como o da imagem acima, no rodapé das postagens, você poderá inserir um código no HTM do seu template, o que vamos ver em artigos que postarei brevemente.
Mas, este que disponibilizo agora é o mais fácil e rápido, pra quem usa a plataforma Blogger (Blogspot).
1. Vá ao Painel do Blogger in Draft, clique em Layout >>>Adicionar um Gadget>>>HTML/JavaScript.
2. Copie e cole o seguinte código:
<style>
.showpageArea {padding: 0 2px;margin-top:10px;margin-bottom:10px;
}
.showpageArea a {border: 1px solid #505050;
color: #ffffff;font-weight:normal;
padding: 3px 6px !important;
padding: 1px 4px ;margin:0px 4px;
text-decoration: none;
}
.showpageArea a:hover {
font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
.showpageNum a {border: 1px solid #505050;
color: #000000;font-weight:normal;
padding: 3px 6px !important;
padding: 1px 4px ;margin:0px 4px;
text-decoration: none;
}
.showpageNum a:hover {
font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
.showpagePoint {font-size:11px;
padding: 2px 4px 2px 4px;
margin: 2px;
font-weight: bold;
border: 1px solid #333;
color: #fff;
background-color: #000000;
}
.showpage a:hover {font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
.showpageNum a:link,.showpage a:link {
font-size:11px;
padding: 2px 4px 2px 4px;
margin: 2px;
text-decoration: none;
border: 1px solid #0066cc;
color: #0066cc;
background-color: #FFFFFF;}
.showpageNum a:hover {font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}
</style>
<script type="text/javascript">
function showpageCount(json) {
var thisUrl = location.href;
var htmlMap = new Array();
var isFirstPage = thisUrl.substring(thisUrl.length-14,thisUrl.length)==".blogspot.com/";
var isLablePage = thisUrl.indexOf("/search/label/")!=-1;
var isPage = thisUrl.indexOf("/search?updated")!=-1;
var thisLable = isLablePage ? thisUrl.substr(thisUrl.indexOf("/search/label/")+14,thisUrl.length) : "";
thisLable = thisLable.indexOf("?")!=-1 ? thisLable.substr(0,thisLable.indexOf("?")) : thisLable;
var thisNum = 1;
var postNum=1;
var itemCount = 0;
var fFlag = 0;
var eFlag = 0;
var html= '';
var upPageHtml ='';
var downPageHtml ='';
var pageCount=5;
var displayPageNum=3;
var firstPageWord = 'First';
var endPageWord = 'Last';
var upPageWord ='Previous';
var downPageWord ='Next';
var labelHtml = '<span class="showpageNum"><a href="/search/label/'+thisLable+'?&max-results='+pageCount+'">';
for(var i=0, post; post = json.feed.entry[i]; i++) {
var timestamp = post.published.$t.substr(0,10);
var title = post.title.$t;
if(isLablePage){
if(title!=''){
if(post.category){
for(var c=0, post_category; post_category = post.category[c]; c++) {
if(encodeURIComponent(post_category.term)==thisLable){
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum = postNum;
}
postNum++;
htmlMap[htmlMap.length] = '/search/label/'+thisLable+'?updated-max='+timestamp+'T00%3A00%3A00%2B08%3A00&max-results='+pageCount;
}
}
}
}//end if(post.category){
itemCount++;
}
}else{
if(title!=''){
if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum = postNum;
}
if(title!='') postNum++;
htmlMap[htmlMap.length] = '/search?updated-max='+timestamp+'T00%3A00%3A00%2B08%3A00&max-results='+pageCount;
}
}
itemCount++;
}
}
for(var p =0;p< htmlMap.length;p++){
if(p>=(thisNum-displayPageNum-1) && p<(thisNum+displayPageNum)){
if(fFlag ==0 && p == thisNum-2){
if(thisNum==2){
if(isLablePage){
upPageHtml = labelHtml + upPageWord +'</a></span>';
}else{
upPageHtml = '<span class="showpage"><a href="/">'+ upPageWord +'</a></span>';
}
}else{
upPageHtml = '<span class="showpage"><a href="'+htmlMap[p]+'">'+ upPageWord +'</a></span>';
}
fFlag++;
}
if(p==(thisNum-1)){
html += '&nbsp;<span class="showpagePoint"><u>'+thisNum+'</u></span>';
}else{
if(p==0){
if(isLablePage){
html = labelHtml+'1</a></span>';
}else{
html += '<span class="showpageNum"><a href="/">1</a></span>';
}
}else{
html += '<span class="showpageNum"><a href="'+htmlMap[p]+'">'+ (p+1) +' </a></span>';
}
}
if(eFlag ==0 && p == thisNum){
downPageHtml = '<span class="showpage"> <a href="'+htmlMap[p]+'">'+ downPageWord +'</a></span>';
eFlag++;
}
}//end if(p>=(thisNum-displayPageNum-1) && p<(thisNum+displayPageNum)){
}//end for(var p =0;p< htmlMap.length;p++){
if(thisNum>1){
if(!isLablePage){
html = '<span class="showpage"><a href="/">'+ firstPageWord +' </a></span>'+upPageHtml+' '+html +' ';
}else{
html = ''+labelHtml + firstPageWord +' </a></span>'+upPageHtml+' '+html +' ';
}
}
html = '<div class="showpageArea"><span style="font-size:11px;padding: 2px 4px 2px 4px;margin: 2px 2px 2px 2px;color: #000000;border: 1px solid #333; background-color: #FFFFFF;" class="showpage">Page '+thisNum+' of '+(postNum-1)+': </span>'+html;
if(thisNum<(postNum-1)){
html += downPageHtml;
html += '<span class="showpage"><a href="'+htmlMap[htmlMap.length-1]+'"> '+endPageWord+'</a></span>';
}
if(postNum==1) postNum++;
html += '</div>';
if(isPage || isFirstPage || isLablePage){
var pageArea = document.getElementsByName("pageArea");
var blogPager = document.getElementById("blog-pager");
if(postNum <= 2){
html ='';
}
for(var p =0;p< pageArea.length;p++){
pageArea[p].innerHTML = html;
}
if(pageArea&&pageArea.length>0){
html ='';
}
if(blogPager){
blogPager.innerHTML = html;
}
}
}
</script>
<script src="/feeds/posts/summary?alt=json-in-script&callback=showpageCount&max-results=99999" type="text/javascript"></script>


3. Clique em Salvar.
demonstração
4. Arraste o gadget para o rodapé de Postagens no Blog, como mostra a imagem acima.
5.Clique em Salvar.
Para ver o menu de paginação, é preciso que suas postagens tenham no mínimo 2 ou 3 páginas, caso contrário, não aparecerá nada até que o número de postagens no blog aumentem.
Simples, fácil e rápido, do jeito que eu gosto!!!
Veja isto funcionando neste blog: Pérolas Esparsas
!cid_9F76E8AD25134F699B78CC3CD2491EC7@pc01Widget by TechieBlogger

Editando o código com as suas preferências:
1. Procure no código do seu widget,  pelos trechos:
  • var pageCount=5;    >>> O dígito em vermelho representa o número de posts que deverá ser mostrado em uma única página.
  • var displayPageNum=3;    >>> O dígito em vermelho representa o número de páginas a serem listadas.
  • var firstPageWord = 'First';   >>> Em português, troque por Primeira
  • var endPageWord = 'Last';   >>> Em português, troque por Última
  • var upPageWord ='Previous';   >>> Em português troque por Anterior
  • var downPageWord ='Next';   >>> Em português, troque por Próxima

expl_infantil Update em 18/10/2009 (esquecí de dar os créditos)
Traduzido por mim do original em Inglês: TechieBlogger

10 comentários:

Olá amiga, havia testado um hack nesse estilo mas não gostei. Ao que vi no código, é possível personalizar bastante ele.
Você poderia divulgar mais este hack no Dihitt e no Facebook, pois muitas pessoas gostariam de instalar e o seu formato ficou muito simples. Instalei e achei legal.
Ele substitui a parte do código que mostra 'Postagens antigas" e "Próximas postagens", assim como as imagens que o blog tenha.
Parabéns. Abraços

@Gato Guga
Eu já uso este estilo de paginação há algum tempo nos outros dois blogs. Neste aqui, o template não aceitou e ainda não consegui entender porque. Então coloquei as imagens para direcionamneto pois assim deu certo. Obrigada pela dica, indicarei no diHITT e Facebook.
Bjs

Vera

Simples, rápido e eficiente ! Já instalei e gostei.

Obrigado, foi útil para mim e tenho certeza será, também, para muitas outras pessoas.

Um abraço.

Nelson

vou testar também, o ultimo desses que publiquei me arrependo até hoje rsrs

@Professor Nelson
Fico feliz em saber que esta dica foi útil e aplicada no seu blog.
Abraços

@Fabiano
Ás vezes acontecem erros mesmo. Espero que este dê certo para você. Comentei no teu blog, para saber o que houve.
Bjs e bom FDS!

coloquei no marmanjjus, deu certo;
valeu pela dica

estou linkando o seu blog no marmanjjus,
suas dicas são boas e podem ser úteis para meus amigos e visitantes.

Serjão, muito obrigada por divulgar o blog. Isto sim é parceria voluntária. Visitei o teu blog e ví que deu tudo certo na adição da paginação.
Bjs

Postar um comentário

Obrigada pela visita e pelo comentário!

Receber atualizações por email

Contato- Fale comigo

Related Posts with Thumbnails

Aviso

Todos os links e arquivos que se encontram no blog, estão hospedados na Internet. Somente indicamos onde se encontram, não hospedamos nenhum arquivo ou programas que seja de distribuição ilegal. Qualquer arquivo protegido por algum tipo de lei deve permanecer, no máximo, 24 horas em seu computador. Eles podem ser baixados apenas para teste, devendo o usuário apagá-lo ou comprá-lo após 24 horas. A aquisição desses arquivos pela internet é de única e exclusiva responsabilidade do usuário. Os donos, webmasters e qualquer outra pessoa que tenha relacionamento com a produção do blog não têm responsabilidade alguma sobre os arquivos que o usuário venha a baixar e para que irá utilizá-los.
Twitter Delicious Facebook Digg Stumbleupon Favorites More