Навигация по блогу, сайту

Navigacija po blogu, sajtu
Навигация по блогу (сайту)-это одна из основных функций, которая помогает ориентироваться и искать именно то, что хотелось бы просмотреть, прочитать в том большом, как правило, обьеме статей опубликованном за длительный период существования блога.
Чем проще и понятнее навигация, тем легче и быстрее читатель найдет нужное и останется на блоге, а не уйдет в дальнейшем поиске и большая  вероятность, что ему понравится блог.
Как вы заметили у меня на этом блоге применены три вида навигационных возможностей на любой вкус:

1. Содержание блога-где выложены все статьи блога в виде таблицы прямоугольников с кликабельными картинкой и названием статьи, с возможностью перехода к интересующей нас информации. Для увеличения обзорности-боковую панель со страницы удаляем.
http://lybovw.blogspot.com/p/blog-page_15.html

2. Архив блога-расположение статей в хронологическом порядке с указанием даты публикации (день, месяц и соответственно год). Название-кликабельная ссылка.
http://lybovw.blogspot.com/p/blog-page_3905.html

3. Карта блога-здесь применен принцип распределения статей по тематической направленности, с обозначением новых последних опубликованных статей, соответственно название статьи, является кликабельной ссылкой, с прямым переходом к тексту статьи. Название тем, так же является кликабельной и осушествляет переход ко всему перечню статей определенной тематики. Здесь применен принцип ярлыков.
http://lybovw.blogspot.com/p/hrefhttpwww.html

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

В виду огромного количества технических решений и дизайнерских возможностей при проектировании блога (сайта) навигация должна иметь:
-простую и понятную для пользователя форму;
-визуально легко обозрима  и желательно находится в одном месте на разных страницах блога(сайта);
-первоочередная загрузка панели навигации на странице блога (сайта) в первые 3 секунды, для быстродействия  пользователя в принятии им решения и поиска.
   "Простота конструкции-надежность в эксплуатации"-такая формулировка часто используется в среде инженеров, по-крайней мере использовалась в инженерии XX века, в нашем случае "Простота навигации-увеличивает вероятность, того что читатель зайдет еще, еще и еще раз на ваш блог" )))))
   Ну, а теперь, как все вышесказанное применить на практике. Рассказываю, на примере этого блога.
  
   Содержание блога
(Просмотреть данный вариант в действии можно здесь)
 создаём отдельную страницу, куда на вкладке "Изменить HTML" вставляем код: 
      
       <style>
      #resultados { /* общий блок */ }
      #loadingscript { /* текст "Загрузка" */ }

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

      .paginaposts a { /* ссылки */
        color: #991602;
        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, #D0A23E, #ffffff);
        background-image: -webkit-gradient(linear, left bottom, left top, from(#D0A23E), to(#ffffff));
        filter:progid: DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#D0A23E', EndColorStr='#FC0202');
        border: 2px solid #FC0202;
      }

      #paginacion { /* нижний контейнер с количеством записей */
        color: #FC0202; /* Цвет бордюра при наведении */
        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: #990000;
        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: #990000;
        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: #FC0202;
        -moz-box-shadow: 0 0 20px #FC0202 inset;
        -webkit-box-shadow: 0 0 20px #FC0202 inset;
        box-shadow: 0 0 20px #FC0202 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: #990000;
      }

      #totales {text-align:center;}

    </style><script type="text/javascript">
    //<![CDATA[
    var postporpagina = 60; // число записей на странице
    var urlsitio = "http://lybovw.blogspot.com"; // адрес блога
    var minpaginas = 5; // минимальное количество страниц
    var maxpaginas = 10; // максимальное количество страниц
    var imgxdefecto = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijBs6L5hkxUXtQJFwWcMDXOFABx4NECxDboIFl1pq-2XaGv5BV58S4xjruTzPaRIe6LXy9cRuqGgtgTKM2cPm1HEKtvKjGAdfQDHidFczrxHD784310C7qUzvM0shpvH4OwO7I778kog4_/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>


Это мой код и отображаются статьи моего блога. Вам надо заменить http://lybovw.blogspot.com - мой адрес блога на свой и при желании настроить свою цветовую гамму под цвет Вашего блога.
Для упрощения Вам настройки кода, я выделила  красным цветом основные поясняющие надписи соответствующих настроек
При настройке кода, используйте функцию "Просмотр". В случае возникновения проблем при публикации, стирайте код и по-новой вставляете и публикуете.
Как удалить боковую панель с определенной страницы блога, в данном случае с страницы навигации "Содержание блога" читаем здесь
Использованы материалы  сайта shpargalkablog.ru


Продолжение статьи: следует 
Уже опубликова вторая часть данной статьи под названием "Навигация по блогу, сайту-2" и прочитать ее можно
здесь







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

  1. Здравствуйте Хочу сделать такую таблицу на странице План блога Подскажите как найти в html коде куда нужно вставить ваш код Спасибо заранее

    ОтветитьУдалить
  2. Здравствуйте, Марина.
    По сути вопроса- создаете страницу (не сообщение, а именно страницу), нажимаете "создать пустую страницу". Вы уже создали страницу-"План блога" судя по тексту Вашего комментария. Выбираете вкладку "НTML" и вставляете туда скопированный код, выложенный выше в статье, заменив адрес блога на свой и при необходимости поменяв цветовую гамму. После этого нажимаете "Публикация" и все.
    Обращаю Ваше внимание, что до окончательной публикации используйте функцию "Просмотр". В случае всевозможных глюков или неудачной публикации, стираете код и выполняете действия все по новой.
    P.S. Изменять код шаблона блога в данном случае не требуется.
    Возникнут дополнительные вопросы, пишите, буду рада Вам помочь

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

Комментарии