Blogger'da eski sayfalara ulaşmak ya da sayfalar arasında dolaşmak istediğimizde, ana sayfanın hemen altında Önceki Kayıt ve Sonraki Kayıt şeklinde bağlantılar görürüz. Bu bağlantılar yerine, yukarıdaki resimde görebileceğiniz gibi; toplam yayın sayısının, ana sayfada gösterilmesini istediğimiz yayın sayısına bölümü ile elde edilen, toplam sayfa sayısının gösterilmesi ve sayfaların da numaralarla erişilebilir olması için yapmamız gereken Sayfa Numaralandırma - Page Nav eklentisini blogumuza eklemektir.
Kurulum
- Blogger Kumanda Paneli > Yerleşim > Gadget Ekle > HTML/JavaScript komutlarını uygulayarak yeni bir gadget oluşturuyoruz.
- Gadget'e Page-Nav ismini vererek, aşağıda yer alan kodları içerik kısmına ekliyor ve kaydediyoruz.
<!-- sayfa numaralandirma code START --> <style type='text/css'> .showpageArea a { text-decoration:underline; } .showpageNum a { border:1px solid #aeaeae; margin:0 3px; padding:3px 7px; text-decoration:none; color:#333333; } .showpageNum a:hover { background-color:#F0E0C5; border:1px solid #000000; color:#333333; } .showpagePoint { -moz-background-clip:border; -moz-background-inline-policy:continuous; -moz-background-origin:padding; background:#FF7637 none repeat scroll 0 0; border:1px solid #FF7637; color:#fff; margin:0 3px; padding:3px 7px; text-decoration:none; } .showpageOf { margin:0 3px 0 0; padding:3px 7px; text-decoration:none; color:#333333; } .showpage a { border:1px solid #aeaeae; padding:3px 7px; text-decoration:none; color:#333333; } .showpage a:hover { text-decoration:none; color:#333333; } .showpageNum a:link, .showpage a:link { color:#333333; text-decoration:none; } </style> <script type='text/javascript'> var home_page_url = location.href; var pageCount=10; var displayPageNum=3; var upPageWord ='�nceki'; var downPageWord ='Sonraki'; function showpageCount(json) { var thisUrl = home_page_url; var htmlMap = new Array(); var thisNum = 1; var postNum=1; var itemCount = 0; var fFlag = 0; var eFlag = 0; var html= ''; var upPageHtml =''; var downPageHtml =''; for(var i=0, post; post = json.feed.entry[i]; i++) { var timestamp1 = post.published.$t.substring(0,19)+post.published.$t.substring(23,29); timestamp = encodeURIComponent(timestamp1); var title = post.title.$t; 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+'&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){ 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 += '<span class="showpagePoint">'+thisNum+'</span>'; }else{ if(p==0){ 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++; } } } if(thisNum>1){ html = ''+upPageHtml+' '+html +' '; } html = '<div class="showpageArea"><span class="showpageOf"> Toplam Sayfa ('+(postNum-1)+')</span>'+html; if(thisNum<(postNum-1)){ html += downPageHtml; } if(postNum==1) postNum++; html += '</div>'; 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; } } function showpageCount2(json) { var thisUrl = home_page_url; var htmlMap = new Array(); var isLablePage = thisUrl.indexOf("/search/label/")!=-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 labelHtml = '<span class="showpageNum"><a href="/search/label/'+thisLable+'?&max-results='+pageCount+'">'; var thisUrl = home_page_url; for(var i=0, post; post = json.feed.entry[i]; i++) { var timestamp1 = post.published.$t.substring(0,19)+post.published.$t.substring(23,29); timestamp = encodeURIComponent(timestamp1); var title = post.title.$t; if(title!=''){ if(itemCount==0 || (itemCount % pageCount ==(pageCount-1))){ if(thisUrl.indexOf(timestamp)!=-1 ){ thisNum = postNum; } if(title!='') postNum++; htmlMap[htmlMap.length] = '/search/label/'+thisLable+'?updated-max='+timestamp+'&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){ upPageHtml = labelHtml + upPageWord +'</a></span>'; }else{ upPageHtml = '<span class="showpage"><a href="'+htmlMap[p]+'">'+ upPageWord +'</a></span>'; } fFlag++; } if(p==(thisNum-1)){ html += '<span class="showpagePoint">'+thisNum+'</span>'; }else{ if(p==0){ html = labelHtml+'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++; } } } if(thisNum>1){ if(!isLablePage){ html = ''+upPageHtml+' '+html +' '; }else{ html = ''+upPageHtml+' '+html +' '; } } html = '<div class="showpageArea"><span class="showpageOf"> Toplam Sayfa ('+(postNum-1)+')</span>'+html; if(thisNum<(postNum-1)){ html += downPageHtml; } if(postNum==1) postNum++; html += '</div>'; 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 type='text/javascript'> var thisUrl = home_page_url; if (thisUrl.indexOf("/search/label/")!=-1){ if (thisUrl.indexOf("?updated-max")!=-1){ var lblname1 = thisUrl.substring(thisUrl.indexOf("/search/label/")+14,thisUrl.indexOf("?updated-max")); }else{ var lblname1 = thisUrl.substring(thisUrl.indexOf("/search/label/")+14,thisUrl.indexOf("?&max")); } } var home_page = "/"; if (thisUrl.indexOf("?q=")==-1){ if (thisUrl.indexOf("/search/label/")==-1){ document.write('<script src="'+home_page+'feeds/posts/summary?alt=json-in-script&callback=showpageCount&max-results=99999" ><\/script>') }else{document.write('<script src="'+home_page+'feeds/posts/full/-/'+lblname1+'?alt=json-in-script&callback=showpageCount2&max-results=99999" ><\/script>') } } </script> <!-- sayfa numaralandirma code END -->
- Numaralandırma işleminin, yalnızca ana sayfada etkin olması için tema kodları içindeki küçük bir değişiklik yapmamız gerekiyor. Bunun için; Şablon > HTML’yi Düzenle > Devam Et > Widget Şablonlarını Genişlet komutlarını uyguluyoruz.
- CTRL+F tuş kombinasyonu yardımıyla
Page-Nav
kelimesini aratıp buluyoruz. - Bulduğumuz satırın altında aşağıdakine benzer kodlar göreceksiniz. Bu kodları siliyoruz.
<b:includable id='main'> <!-- only display title if it's non-empty --> <b:if cond='data:title != ""'> <h2 class='title'><data:title/></h2> </b:if> <div class='widget-content'> <data:content/> </div> <b:include name='quickedit'/> </b:includable>
- Sildiğimiz kodların yerine ise aşağıda yer alan kodları ekliyoruz.
<b:includable id='main'> <div class='widget-content'> <b:if cond='data:blog.pageType == "index"'><data:content/></b:if> </div> <b:include name='quickedit'/> </b:includable>
Ayarlar
var pageCount=10;
Ana sayfada yer almasını istediğimiz yayın sayısı değeri ile aynı olmalı. Yoksa sayfa sayısı yanlış hesaplanır.
var displayPageNum=3;
İçinde bulunduğumuz sayfadan önce ve sonra yer almasını istediğimiz sayfa sayısı değeri.
Gadget içine eklediğimiz kodlarda yer alan CSS etiketlerinin içeriğini değiştirerek, eklentiyi kendi temanıza uygun hale getirebilirsiniz.
Son olarak; eklenti ile ilgili sorun yaşayacak olursanız, probleminizi yorum bölümüne yazarak bana iletebilirsiniz.
Hiç yorum yok:
Yorum Gönder
Lütfen yorum yazarken aşağıdaki noktaları göz önünde bulundurun.
1- Yaptığınız yorumun, yazıyla alakalı olmasına özen gösteriniz.
2- Yazım ve dilbilgisi konusunda özen gösteriniz ve argo kelimelerden uzak durunuz.
3- Reklam amaçlı yorumlarda bulunmayınız.