Создаем постраничную навигацию на блоге


Создаем постраничную навигацию на своем блоге

Постраничная навигация на блоге - это большое удобство для читателей блога, повышение юзабилити и конечно большой плюс со стороны поисковых систем.

Постраничная навигация на нашем блоге уже существует. Она представлена виджетом: Pager. Мы уже имели дело с этим виджетом, когда настраивали шаблон блога.

Однако в том виде, в каком она существует сейчас, она нас совершенно не устраивает.


Сейчас она существует у нас вот в таком виде:


Постраничная навигация в blogger

 А нам надо, чтобы она была вот в таком:

Делаем постраничную навигацию на своем блоге

Для того, чтобы привести постраничную навигацию на своем блоге в надлежащий вид, нам надо перейти на вкладку: Шаблон и кликнуть: Изменить HTML.

Вкладка: настройка шаблона


1.  В открывшемся HTML коде ищем фрагмент кода: ]]></b:skin>. 

Напоминаю, что для этого мы открываем поисковое окно при помощи клавиш CTRL + F.

поиск в коде html


2.  Прямо перед этим фрагментом кода вставляем следующий код:

.showpageArea a {
text-decoration:underline;
}
.showpageNum a {
border:1px solid #CCCCCC;
margin:0 3px;
padding:3px 7px;
text-decoration:none;
}
.showpageNum a:hover {
background-color:#CCCCCC;
border:1px solid #CCCCCC;
}
.showpagePoint {
-moz-background-clip:border;
-moz-background-inline-policy:continuous;
-moz-background-origin:padding;
background:#CCCCCC none repeat scroll 0 0;
border:1px solid #CCCCCC;
color:#333333;
margin:0 3px;
padding:3px 7px;
text-decoration:none;
}
.showpageOf {
margin:0 3px 0 0;
padding:3px 7px;
text-decoration:none;
}
.showpage a {
border:1px solid #CCCCCC;
padding:3px 7px;
text-decoration:none;
}
.showpage a:hover {
text-decoration:none;
}
.showpageNum a:link, .showpage a:link {
color:#333333;
text-decoration:none;
}

3.  Сохраняем изменения в HTML коде и закрываем эту вкладку.

4.  Идем на вкладку: Дизайн и кликаем: Добавить гаджет.

Макет дизайна блога


5.  Выбираем в открывшейся вкладке гаджетов гаджет: HTML/Java Script и кликаем на плюсик возле него:

Создать новый гаджет блога


6.  В открывшейся вкладке вставляем следующий код:

<script type='text/javascript'>
var home_page_url = location.href;
var pageCount=6;
var displayPageNum=10;
var upPageWord ='Предыдущие';
var downPageWord ='Следующие';
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"> Страницы ('+(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"> Страницы ('+(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>



Кликаем: Сохранить.

Создаем гаджет на вкладке


7.  На вкладке: Дизайн перетаскиваем мышкой созданный гаджет с постраничной навигацией сразу под раздел: Сообщения.

Гаджет с постраничной навигацией


8.  Сохраняем сделанные изменения:

Сохраняем изменения в постраничной навигации


Все. Теперь можно идти и любоваться на полученный результат.

На следующем занятии мы продолжим улучшать навигацию на нашем блоге.



Если вы случайно попали на эту страницу и хотите присоединиться к тренингу, вы можете сделать это через эту подписную форму:


Ваше имя: *
Ваш e-mail: *
В тренинге участвуют:
слушателей


Забрать на свою страничку:




11 комментариев:

  1. Каролина, спасибо! Все получилось!!!

    ОтветитьУдалить
  2. Благодарю, Каролина! Вы даете материал просто и понятно без "воды".

    ОтветитьУдалить
  3. Спасибо, девочки, я очень рада, что все получается...))

    ОтветитьУдалить
  4. Каролина.У меня пока одно сообщение и в виджете написано "Главная страница". Так и должно быть?

    ОтветитьУдалить
  5. Каролина, у меня нет этого фрагмента ]]>. ??? Как быть?

    ОтветитьУдалить
    Ответы
    1. Должен быть...дело в том, что блоггер обновился и не все стало так, как раньше...придется сделать так...

      Откройте вес стрелочки в шаблоне HTML...для этого надо в каждой строке слева кода шаблона нажать на все черные треугольнички, тогда откроются скрытые строки и там должен найтись этот фрагмент кода...

      Удалить
    2. Спасибо! Теперь на главной странице должна появиться постраниченая навигация? У меня нет?

      Удалить
    3. Постраничная навигация появляется тогда, когда количество постов на главной странице превышает то, что вы задали в настройках...

      Удалить
  6. Спасибо большое! Очень красиво получилось!

    ОтветитьУдалить
  7. Каролина, у меня появились вверху какие-то "кракозябры". Что-то не правильно сделала. Подскажите, пожалуйста. как исправить http://alla-petelki.blogspot.com/

    ОтветитьУдалить
    Ответы
    1. Алла, я никаких крокозябров у вас не вижу...все совершенно нормально и хорошо смотрится...у вас они тоже уже исчезли?

      Удалить