Оглавление блога с графикой

12.01.2013

Судя по комментариям, при установке карты сайта в последнем варианте бывают проблемы. Поэтому попробуем найти выход из положения. Ведь, как говорил Мюнхгаузен, не бывает безвыходных ситуаций )))

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

Ну что ж, очередная попытка добавить все-таки карту сайта или оглавление (оно же содержание). Я, кстати, этот вариант тоже оставила, но только по одному ярлыку "гаджеты". Смотрите страницу в верхнем меню "Все гаджеты". Как это сделать, напишу в следующей статье.

Вариант первый. В карте сайта будут отображаться все записи блога (по 60 на странице).

1) Идем в настройки блога. Пункт Страницы > Создать страницу > Пустая страница:

2) Вверху пишем название. Например, "Содержание блога".

3) Переходим в режим редактирования страницы HTML (там же, где при создании сообщения). Копируем код ниже:

<style>
  #resultados { /* общий блок */ }
  #loadingscript { /* текст "Загрузка" */ }

  .paginaposts { /* каждого прямоугольника */
    border: 1px solid #FF00CC;
    float: left;
    height: 50px;
    margin: 1px;
    padding: 5px;
    width: 230px;
    background: #faebee;
  }

  .paginaposts a { /* ссылки */
    color: #000000;
    display: block;
    font-size: 11px;
    text-decoration: none;
    text-indent: 0px;
  }

  .paginaposts img { /* изображения */
    float: left;
    height: 40px;
    width: 40px;
    padding: 2px;
    margin: 2px 5px 2px 2px;
  }

  .paginaposts h6 { /* заголовки */
    height: 45px;
    margin: 0;
    font-weight: normal;
  }

  .paginaposts:hover { /* эффект при наведении мышки */
    background-image: -moz-linear-gradient(100% 100% 90deg, #fbcbf0, #fbcbf0);
    background-image: -webkit-gradient(linear, left bottom, left top, from(#fbcbf0), to(#fbcbf0));
    filter:progid: DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#fbcbf0', EndColorStr='#fbcbf0');
    border: 1px solid #CC00CC;
  }

  #paginacion { /* нижний контейнер с количеством записей */
    color: #bbb;
    font-family: Lucida Grande;
    font-size: 24px;
    font-weight: bold;
    height: 35px;
    line-height: 28px;
    padding: 20px 0;
    text-align: center;
  }

  #paginacion span, #paginacion a { /* постраничная навигация */
    border: 1px solid #ddcca3;
    color: #d6a87a;
    display: inline-block;
    font-family: Lucida Grande;
    font-size: 24px;
    font-weight: bold;
    margin: 0 2px;
    padding: 0 5px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    text-indent: 0px;
  }

  #paginacion span.actual { /* текущая страница */
    color: #000080;
    padding: 0 5px;
    -moz-box-shadow: 0 0 30px #fff inset;
    -webkit-box-shadow: 0 0 30px #fff inset;
    box-shadow: 0 0 30px #fff inset;
  }

  #paginacion a:hover { /* наведение на эти ссылки */
    color: #fff;
    -moz-box-shadow: 0 0 20px #666 inset;
    -webkit-box-shadow: 0 0 20px #666 inset;
    box-shadow: 0 0 20px #666 inset;
    text-decoration: none;
  }

  #paginacion .antesdespues { border: none; }
  #paginacion .antesdespues:hover {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  #paginacion span.deshabilitado { /* следующие */
    border: none;
    color: #1621c4;
  }

  #totales {text-align:center;}

</style><script type="text/javascript">
//<![CDATA[
var postporpagina = 60; // число записей на странице
var urlsitio = "http://samasajt.blogspot.com"; // адрес блога
var minpaginas = 5; // минимальное количество страниц
var maxpaginas = 10; // максимальное количество страниц
var imgxdefecto = "http://3.bp.blogspot.com/_hljKDuw-cxQ/SsmfbhHhGrI/AAAAAAAAOU0/vCmT5Y4wzEo/s1600/vagaPlantilla_resumenpostsnoimage.gif"; // адрес изображения, который будет показан при отсутствии картинки в сообщении

var firsttime = 0;
var paginaactual = 1;
var cantidadpaginas = 0;
var cantidadposts = 0;

function showpageposts(json) {
  var entry, posttitle, posturl, postimg;
  var salida = "";

  if(cantidadpaginas==0) {
    cantidadposts = parseInt(json.feed.openSearch$totalResults.$t);
    cantidadpaginas = parseInt(cantidadposts / postporpagina) + 1;
  }

  for (var i = 0; i < postporpagina; i++) {
    if (i == json.feed.entry.length) { break; }
    entry = json.feed.entry[i];

    posttitle = entry.title.$t;

    for (var k = 0; k < entry.link.length; k++) {
      if (entry.link[k].rel == 'alternate') {
        posturl = entry.link[k].href;
        break;
      }
    }

    if ("media$thumbnail" in entry) {
      postimg = entry.media$thumbnail.url;
    } else {
      postimg = imgxdefecto;
    }

    salida += "<div class='paginaposts'>";
    salida += "<a href='" + posturl + "' target='_blank'><img src='" + postimg + "' /></a>";
    salida += "<h6><a href='" + posturl + "' target='_blank'>" + posttitle + "</a></h6>";
    salida += "</div>";
  }

  document.getElementById("resultados").innerHTML = salida;

  paginacion();
}

function paginacion() {
  contadorP = 0;
  salida = "";

  if(paginaactual>1) {
    salida += "<a class='antesdespues' href='javascript:incluirscript(" + parseInt(paginaactual-1) + ")'>следующие</a>";
  } else {
    salida += "<span class='deshabilitado'>следующие</span>";
  }

  if (cantidadpaginas<(maxpaginas+1)) {
    for (contadorP = 1; contadorP <= cantidadpaginas; contadorP++){
      if (contadorP==paginaactual) {
        salida += "<span class='actual'>" + contadorP + "</span>";
      } else {
        salida += "<a href='javascript:incluirscript(" + contadorP + ")'>" + contadorP + "</a>";
      }
    }
  } else if(cantidadpaginas>(maxpaginas-1)) {
    if(paginaactual<minpaginas) {
      for (contadorP=1; contadorP<(maxpaginas-2); contadorP++){
       if (contadorP == paginaactual) {
         salida += "<span class='actual'>" + contadorP + "</span>";
       } else {
         salida += "<a href='javascript:incluirscript(" + contadorP + ")'>" + contadorP + "</a>";
       }
     }
     salida += " ... ";
     salida += "<a href='javascript:incluirscript(" + parseInt(cantidadpaginas-1) + ")'>" + parseInt(cantidadpaginas-1) + "</a>";
     salida += "<a href='javascript:incluirscript(" + cantidadpaginas + ")'>" + cantidadpaginas + "</a>";
    } else if(cantidadpaginas-(minpaginas-1)>paginaactual&&paginaactual>(minpaginas-1)) {
      salida += "<a href='javascript:incluirscript(1)'>1</a>";
      salida += "<a href='javascript:incluirscript(2)'>2</a>";
      salida += " ... ";
      for (contadorP=paginaactual-2; contadorP<=paginaactual+2; contadorP++) {
        if (contadorP==paginaactual) {
          salida += "<span class='actual'>" + contadorP + "</span>";
        } else {
          salida += "<a href='javascript:incluirscript(" + contadorP + ")'>" + contadorP + "</a>";
        }
      }
      salida += " ... ";
      salida += "<a href='javascript:incluirscript(" + parseInt(cantidadpaginas-1) + ")'>" + parseInt(cantidadpaginas-1) + "</a>";
      salida += "<a href='javascript:incluirscript(" + cantidadpaginas + ")'>" + cantidadpaginas + "</a>";
    } else {
      salida += "<a href='javascript:incluirscript(1)'>1</a>";
      salida += "<a href='javascript:incluirscript(2)'>2</a>";
      salida += " ... ";
      for (contadorP=cantidadpaginas-(minpaginas+1); contadorP<=cantidadpaginas; contadorP++) {
        if (contadorP==paginaactual) {
          salida += "<span class='actual'>" + contadorP + "</span>";
        } else {
          salida += "<a href='javascript:incluirscript(" + contadorP + ")'>" + contadorP + "</a>";
        }
      }
    }
  }

  if (paginaactual<contadorP-1) {
    salida += "<a class='antesdespues' href='javascript:incluirscript(" + parseInt(paginaactual+1) + ")'>предыдущие</a>";
  } else {
    salida += "<span class='deshabilitado'>предыдущие</span>";
  }

  document.getElementById("paginacion").innerHTML = salida;

  var iniciopagina = (paginaactual * postporpagina) - (postporpagina - 1);
  var finalpagina = paginaactual * postporpagina;
  var totales = "Всего опубликовано сообщений: " + cantidadposts + " - из них показано " + iniciopagina + "-" + finalpagina + " записей";
  document.getElementById("totales").innerHTML = totales;
}

function incluirscript(pagina) {

  if(firsttime==1) {removerscript();}

  document.getElementById("resultados").innerHTML = "<div id='loadingscript'>загрузка ...</div>";
  document.getElementById("paginacion").innerHTML = "";
  document.getElementById("totales").innerHTML = "";

  var iniciopagina = (pagina * postporpagina) - (postporpagina - 1);

  var archivo = urlsitio + "/feeds/posts/default?start-index=" + iniciopagina;
  archivo += "&max-results=" + postporpagina;
  archivo += "&orderby=published&alt=json-in-script&callback=showpageposts";

  var nuevo = document.createElement('script');
  nuevo.setAttribute('type', 'text/javascript');
  nuevo.setAttribute('src', archivo);
  nuevo.setAttribute('id', 'TEMPORAL');
  document.getElementsByTagName('head')[0].appendChild(nuevo);

  firsttime = 1;
  paginaactual = pagina;
}

function removerscript() {
  var el = document.getElementById("TEMPORAL");
  var padre = el.parentNode;
  padre.removeChild(el);
}

onload=function() { incluirscript(1); }
//]]>
</script>
<div id="resultados" ></div>
<div style="clear:both;"></div>
<div id="paginacion"></div>
<div id="totales"></div>
4) Вставляем скопированный код на страницу. 

5) Вот в таком блоке кода меняем адрес блога на Ваш:
</style><script type="text/javascript">
//<![CDATA[
var postporpagina = 60; // число записей на странице
var urlsitio = "http://samasajt.blogspot.com"; // адрес блога
var minpaginas = 5; // минимальное количество страниц
var maxpaginas = 10; // максимальное количество страниц
var imgxdefecto = "http://3.bp.blogspot.com/_hljKDuw-cxQ/SsmfbhHhGrI/AAAAAAAAOU0/vCmT5Y4wzEo/s1600/vagaPlantilla_resumenpostsnoimage.gif"; // адрес изображения, который будет показан при отсутствии картинки в сообщении

6) Нажимаем кнопку Просмотр. Если все оглавление загрузилось и нормально отображается, нажимаем Сохранить.

Обратите внимание: в режиме просмотра не работает эффект при наведении курсора мыши (смена фона в прямоугольнике с названием статьи). Он будет работать, когда Вы уже сохраните страницу.

Код для "содержания" я взяла с этого сайта, изменив цвета.

32 комментария:

  1. А у меня не получилось, пусто все :(((

    ОтветитьУдалить
    Ответы
    1. Попробуйте еще раз проверить все шаги заново и обновить страницу с помощью кнопки F5 или Ctrl+R

      Удалить
    2. Этот комментарий был удален автором.

      Удалить
    3. Этот комментарий был удален автором.

      Удалить
    4. Мария! Разобралась! Спасибо Вам огромное!!! Все получилось!

      Удалить
    5. Здравствуйте! Когда-то устанавливала у себя в блоге оглавление с графикой, потом удалила. Сейчас снова хотела установить, но у меня не получилось. Вроде все сделала правильно. По каким причинам это может не сработать. Спасибо!

      Удалить
    6. Здравствуйте! Если Вы не меняли шаблон, то может быть конфликт с другими гаджетами. Еще можно установить содержание и подождать некоторое время - не всегда скрипты сразу обрабатываются.

      Удалить
    7. В пункте 5 после каждого кода обозначение написано, удалите их, может получиться. (т.е. ...минимальное кол-во страниц)

      Удалить
  2. Спасибо. Пригодилось.

    ОтветитьУдалить
  3. Спасибо огромное,помогло!!!

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

    ОтветитьУдалить
  5. Мария, спасибо Вам большое из всех скриптов только этот подошел

    ОтветитьУдалить
  6. Этот комментарий был удален автором.

    ОтветитьУдалить
  7. У меня написано загрузка, но само табло вообще не появляется, хотя я просто вставила ссылку, что делать? Все проверяла много раз, несколько раз копировала, все равно ничего не получается

    ОтветитьУдалить
    Ответы
    1. Попробуйте в другой день проверить. Иногда скрипты на сервере Google не сразу работают, а лишь через время.

      Удалить
    2. увы уже сколько дней все глухо

      Удалить
    3. Видимо, конфликт с шаблоном. Пробуйте варианты карты сайта без графики:
      1)через скрипт: http://samasajt.blogspot.ru/2013/01/blog-post.html
      2)без скрипта: http://samasajt.blogspot.ru/2013/02/blog-post.html

      Удалить
    4. Мария! Ради Бога,помогите, не пойму, что произошло, но только страница с содержанием не загружается там 46 постиков. может поэтому/, а еще и все другие гаджеты перестали грузиться???
      Что сделать??? releve888.blogspot.com/ Может сможете проверить?

      Удалить
    5. Здравствуйте! С динамическими шаблонами, увы, не все гаджеты и скрипты работают.

      Удалить
    6. Добрый день,Мария! Перешла снова на простой шаблон, тк в динамическом просмотре, действительно, много удобств, но гаджеты не работают! Поэтому, у меня вопрос по поводу оглавления с ярлыками, Они загрузились, я их все увидела, но через какое-то время ничего не отображает, а еще все гаджеты улетели вниз??? Что мне сделать, подскажите, пожалуйста
      адрес http//releve888.blogspot.com/

      Удалить
    7. Здравствуйте, Ольга! Скажите, у Вас "Карта сайта" и "Содержание" не одно и то же? Карта нормально отображается. В настройках дизайна шаблона пробовали гаджеты перемещать?

      Удалить
    8. Машенька! Я уже перепробовала кажется все варианты, в том числе и оба кода загружала, и -0,0
      Понять не могу, кнопа работает, карта работает, а содержание Попробовала все гаджеты удалить и снова загрузить и - ничего, Где ошибка?

      Удалить
    9. Сегодня заходила в Ваш блог. И карта сайта, и содержание (как в этой статье описано) загрузились.

      Удалить
    10. Мария! Спасибо, не знаю, что и помогло, может одно Ваше присутствие! Всего Вас самого доброго на свете!

      Удалить
  8. При просмотре содержание появляется, но не публикуется без комментариев. а комментарий не вводится никак

    ОтветитьУдалить
  9. Господи! Это праздник какой-то!!! Дай Вам Бог здоровья,дорогая! Спасибо

    ОтветитьУдалить
  10. Этот комментарий был удален автором.

    ОтветитьУдалить
  11. Спасибо большое)
    Перепробовала множество вариантов, ни один не подходил: была пустая страница карты сайта
    А тут чудо произошло)) осталось цвета поменять

    ОтветитьУдалить
  12. Этот комментарий был удален автором.

    ОтветитьУдалить
  13. Здравствуйте! Читаю комментарии, у всех получилось, а у меня не выходит. Скопировала код вставила, вообще ничего не появляется. Не подскажете в чем дело?

    ОтветитьУдалить
  14. Этот комментарий был удален автором.

    ОтветитьУдалить

Загляните и на другие страницы ^