[TUTORIALES]Un calendario para tu blog.

Hello~!!Esta tutorial, me la han pedido hace mucho{hace mucho y como yo soy olvidadisa se me fue de la mente}...y aunque la aplique hace poco al blog(hace 20 minutos atras^3^}...tenia guardada esta tutorial.Bueno espero que entiendan muy bien y que les guste y aunque repondi tarde el pedido lo acepten y le den buen uso.Pues que estamos esperando y  empezemos:

*Si no tienes el gadget de "archivos de tu blog" ve y colocalo*
1.Diseño | añadir un gadget | archivo de blog y verifica que tenga esto puntos:
2.Luego que tengamos estos puntos, Vamos a plantilla| y buscamos "BlogArchive1" de aqui en adelante sigue lo siguientes pasos:



*Dale click a las imagenes para ver tamano original*
3.Este es el codigo que tienes que pegar:
<b:includable id='main'>
  <b:if cond='data:title'>
    <h2><data:title/></h2>
  </b:if>
  <div class='widget-content'>
  <div id='ArchiveList'>
  <div expr:id='data:widget.instanceId + "_ArchiveList"'>
    <b:if cond='data:style == "HIERARCHY"'>
     <b:include data='data' name='interval'/>
    </b:if>
    <b:if cond='data:style == "FLAT"'>
      <b:include data='data' name='flat'/>
    </b:if>
    <b:if cond='data:style == "MENU"'>
      <b:include data='data' name='menu'/>
    </b:if>
  </div>
  </div>
  <b:include name='quickedit'/>
  </div>
</b:includable>
<b:includable id='toggle' var='interval'>
  <!-- Toggle not needed for Calendar -->
</b:includable>
<b:includable id='flat' var='data'>
<div id='bloggerCalendarList'>
  <ul>
    <b:loop values='data:data' var='i'>
      <li class='archivedate'>
        <a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>)
      </li>
    </b:loop>
  </ul>
</div>
<div id='blogger_calendar' style='display:none'>
<table id='bcalendar'><caption id='bcaption'>
</caption>
<!-- Table Header -->
<thead id='bcHead'></thead>
<!-- Table Footer -->
<!-- Table Body -->
<tbody><tr><td id='cell1'> </td><td id='cell2'> </td><td id='cell3'> </td><td id='cell4'> </td><td id='cell5'> </td><td id='cell6'> </td><td id='cell7'> </td></tr>
<tr><td id='cell8'> </td><td id='cell9'> </td><td id='cell10'> </td><td id='cell11'> </td><td id='cell12'> </td><td id='cell13'> </td><td id='cell14'> </td></tr>
<tr><td id='cell15'> </td><td id='cell16'> </td><td id='cell17'> </td><td id='cell18'> </td><td id='cell19'> </td><td id='cell20'> </td><td id='cell21'> </td></tr>
<tr><td id='cell22'> </td><td id='cell23'> </td><td id='cell24'> </td><td id='cell25'> </td><td id='cell26'> </td><td id='cell27'> </td><td id='cell28'> </td></tr>
<tr><td id='cell29'> </td><td id='cell30'> </td><td id='cell31'> </td><td id='cell32'> </td><td id='cell33'> </td><td id='cell34'> </td><td id='cell35'> </td></tr>
<tr id='lastRow'><td id='cell36'> </td><td id='cell37'> </td></tr>
</tbody>
</table>
<table id='bcNavigation'><tr>
<td id='bcFootPrev'></td>
<td id='bcFootAll'></td>
<td id='bcFootNext'></td>
</tr></table>
<div id='calLoadingStatus' style='display:none; text-align:center;'>
<script type='text/javascript'>bcLoadStatus();</script>
</div>
<div id='calendarDisplay'/>
</div>
<script  type='text/javascript'> initCal();</script>
</b:includable>
<b:includable id='posts' var='posts'>
<!-- posts not needed for Calendar -->
</b:includable>
<b:includable id='menu' var='data'>
  Configure your calendar archive widget - Edit archive widget - Flat List - Newest first - Choose any Month/Year Format
</b:includable>
<b:includable id='interval' var='intervalData'>
  Configure your calendar archive widget - Edit archive widget - Flat List - Newest first - Choose any Month/Year Format
</b:includable>
</b:widget>

4.Luego que tengamos todos los puntos coregidos,si no te sale,vuelve a hacer todo desde el principio. Vamos a buscar el siguiente codigo "</head>" Arriba pegamos el siguiente codigo:
<!--Script Archive Calendar-->
<script type='text/javascript'>
//<![CDATA[
var bcLoadingImage = "http://lh3.ggpht.com/_UCfxgWHzU98/S57-pjOiY1I/AAAAAAAACSQ/7IQnYLIn2hU/loading.gif";
var bcLoadingMessage = " Cargando....";
var bcArchiveNavText = "Ver todos los mensajes por mes";
var bcArchiveNavPrev = '◄';
var bcArchiveNavNext = '►';
var headDays = ["Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado"];
var headInitial = ["Dom","Lun","Mar","Mier","Jue","Vie","Sab"];
// Nothing to configure past this point ----------------------------------
var timeOffset;
var bcBlogID;
var calMonth;
var calDay = 1;
var calYear;
var startIndex;
var callmth;
var bcNav = new Array ();
var bcList = new Array ();
//Initialize Fill Array
var fill = ["","31","28","31","30","31","30","31","31","30","31","30","31"];
function openStatus(){
   document.getElementById('calLoadingStatus').style.display = 'block';
   document.getElementById('calendarDisplay').innerHTML = '';
  }
function closeStatus(){
   document.getElementById('calLoadingStatus').style.display = 'none';
  }
function bcLoadStatus(){
   cls = document.getElementById('calLoadingStatus');
   img = document.createElement('img');
   img.src = bcLoadingImage;
   img.style.verticalAlign = 'middle';
   cls.appendChild(img);
   txt = document.createTextNode(bcLoadingMessage);
   cls.appendChild(txt);
  }
function callArchive(mth,yr,nav){
// Check for Leap Years
  if (((yr % 4 == 0) && (yr % 100 != 0)) || (yr % 400 == 0)) {
      fill[2] = '29';
   }
  else {
      fill[2] = '28';
   }
   calMonth = mth;
   calYear = yr;
   if(mth.charAt(0) == 0){
      calMonth = mth.substring(1);
      }
   callmth = mth;
   bcNavAll = document.getElementById('bcFootAll');
   bcNavPrev = document.getElementById('bcFootPrev');
   bcNavNext = document.getElementById('bcFootNext');
   bcSelect = document.getElementById('bcSelection');
   a = document.createElement('a');
   at = document.createTextNode(bcArchiveNavText);
   a.href = bcNav[nav];
   a.appendChild(at);
   bcNavAll.innerHTML = '';
   bcNavAll.appendChild(a);
   bcNavPrev.innerHTML = '';
   bcNavNext.innerHTML = '';
   if(nav <  bcNav.length -1){
      a = document.createElement('a');
      a.innerHTML = bcArchiveNavPrev;
      bcp = parseInt(nav,10) + 1;
      a.href = bcNav[bcp];
      a.title = 'Previous Archive';
      prevSplit = bcList[bcp].split(',');
      a.onclick = function(){bcSelect.options[bcp].selected = true;openStatus();callArchive(prevSplit[0],prevSplit[1],prevSplit[2]);return false;};
      bcNavPrev.appendChild(a);
      }
   if(nav > 0){
      a = document.createElement('a');
      a.innerHTML = bcArchiveNavNext;
      bcn = parseInt(nav,10) - 1;
      a.href = bcNav[bcn];
      a.title = 'Next Archive';
      nextSplit = bcList[bcn].split(',');
      a.onclick = function(){bcSelect.options[bcn].selected = true;openStatus();callArchive(nextSplit[0],nextSplit[1],nextSplit[2]);return false;};
      bcNavNext.appendChild(a);
     }
   script = document.createElement('script');
   script.src = 'http://www.blogger.com/feeds/'+bcBlogId+'/posts/summary?published-max='+calYear+'-'+callmth+'-'+fill[calMonth]+'T23%3A59%3A59'+timeOffset+'&published-min='+calYear+'-'+callmth+'-01T00%3A00%3A00'+timeOffset+'&max-results=100&orderby=published&alt=json-in-script&callback=cReadArchive';
   document.getElementsByTagName('head')[0].appendChild(script);
}
function cReadArchive(root){
// Check for Leap Years
  if (((calYear % 4 == 0) && (calYear % 100 != 0)) || (calYear % 400 == 0)) {
      fill[2] = '29';
   }
  else {
      fill[2] = '28';
   }
    closeStatus();
    document.getElementById('lastRow').style.display = 'none';
    calDis = document.getElementById('calendarDisplay');
    var feed = root.feed;
    var total = feed.openSearch$totalResults.$t;
    var entries = feed.entry || [];
    var fillDate = new Array();
    var fillTitles = new Array();
    fillTitles.length = 32;
    var ul = document.createElement('ul');
    ul.id = 'calendarUl';
    for (var i = 0; i < feed.entry.length; ++i) {
      var entry = feed.entry[i];
      for (var j = 0; j < entry.link.length; ++j) {
       if (entry.link[j].rel == "alternate") {
       var link = entry.link[j].href;
       }
      }
      var title = entry.title.$t;
      var author = entry.author[0].name.$t;
      var date = entry.published.$t;
      var summary = entry.summary.$t;
      isPublished = date.split('T')[0].split('-')[2];
      if(isPublished.charAt(0) == '0'){
         isPublished = isPublished.substring(1);
         }
      fillDate.push(isPublished);
      if (fillTitles[isPublished]){
          fillTitles[isPublished] = fillTitles[isPublished] + ' | ' + title;
          }
      else {
          fillTitles[isPublished] = title;
          }
      li = document.createElement('li');
      li.style.listType = 'none';
      li.innerHTML = '<a href="'+link+'">'+title+'</a>';
      ul.appendChild(li);
      }
   calDis.appendChild(ul);
   var val1 = parseInt(calDay, 10)
   var valxx = parseInt(calMonth, 10);
   var val2 = valxx - 1;
   var val3 = parseInt(calYear, 10);
   var firstCalDay = new Date(val3,val2,1);
   var val0 = firstCalDay.getDay();
   startIndex = val0 + 1;
  var dayCount = 1;
  for (x =1; x < 38; x++){
      var cell = document.getElementById('cell'+x);
      if( x < startIndex){
          cell.innerHTML = ' ';
          cell.className = 'firstCell';
         }
      if( x >= startIndex){
          cell.innerHTML = dayCount;
          cell.className = 'filledCell';
          for(p = 0; p < fillDate.length; p++){
              if(dayCount == fillDate[p]){
                  if(fillDate[p].length == 1){
                     fillURL = '0'+fillDate[p];
                     }
                  else {
                     fillURL = fillDate[p];
                     }
                  cell.className = 'highlightCell';
                  cell.innerHTML = '<a href="/search?updated-max='+calYear+'-'+callmth+'-'+fillURL+'T23%3A59%3A59'+timeOffset+'&updated-min='+calYear+'-'+callmth+'-'+fillURL+'T00%3A00%3A00'+timeOffset+'" title="'+fillTitles[fillDate[p]].replace(/"/g,'\'')+'">'+dayCount+'</a>';
                 }
              }
          if( dayCount > fill[valxx]){
             cell.innerHTML = ' ';
             cell.className = 'emptyCell';
             }
          dayCount++;
         }
      }
    visTotal = parseInt(startIndex) + parseInt(fill[valxx]) -1;
    if(visTotal >35){
        document.getElementById('lastRow').style.display = '';
       }
  }
function initCal(){
   document.getElementById('blogger_calendar').style.display = 'block';
   var bcInit = document.getElementById('bloggerCalendarList').getElementsByTagName('a');
   var bcCount = document.getElementById('bloggerCalendarList').getElementsByTagName('li');
   document.getElementById('bloggerCalendarList').style.display = 'none';
   calHead = document.getElementById('bcHead');
   tr = document.createElement('tr');
   for(t = 0; t < 7; t++){
       th = document.createElement('th');
       th.abbr = headDays[t];
       scope = 'col';
       th.title = headDays[t];
       th.innerHTML = headInitial[t];
       tr.appendChild(th);
      }
   calHead.appendChild(tr);
  for (x = 0; x <bcInit.length;x++){
     var stripYear= bcInit[x].href.split('_')[0].split('/')[3];
     var stripMonth = bcInit[x].href.split('_')[1];
     bcList.push(stripMonth + ','+ stripYear + ',' + x);
     bcNav.push(bcInit[x].href);
     }
  var sel = document.createElement('select');
  sel.id = 'bcSelection';
  sel.onchange = function(){var cSend = this.options[this.selectedIndex].value.split(',');openStatus();callArchive(cSend[0],cSend[1],cSend[2]);};
  q = 0;
  for (r = 0; r <bcList.length; r++){
       var selText = bcInit[r].innerHTML;
       var selCount = bcCount[r].innerHTML.split('> (')[1];
       var selValue = bcList[r];
       sel.options[q] = new Option(selText + ' ('+selCount,selValue);
       q++
       }                  
   document.getElementById('bcaption').appendChild(sel);
   var m = bcList[0].split(',')[0];
   var y = bcList[0].split(',')[1];
   callArchive(m,y,'0');
}
function timezoneSet(root){
   var feed = root.feed;
   var updated = feed.updated.$t;
   var id = feed.id.$t;
   bcBlogId = id.split('blog-')[1];
   upLength = updated.length;
   if(updated.charAt(upLength-1) == "Z"){timeOffset = "+00:00";}
   else {timeOffset = updated.substring(upLength-6,upLength);}
   timeOffset = encodeURIComponent(timeOffset);
}
//]]>
</script>
<script src='/feeds/posts/summary?max-results=0&amp;alt=json-in-script&amp;callback=timezoneSet'/>
<!--end Archive Calendar-->

5.Luego guardamos y verificamos que no pase nada raro.Si todo sigue bien,buscamos "]]></b:skin" y arriba pegamos este codigo:
/*---Archive Calendar CSS 3---*/
#calendarDisplay { display: none }
/* div that holds calendar */
#blogger_calendar {
    margin: 5px 0 0 0;
    width: 100%;
}
/* Tabla top - Edita barra de arriba */
#bcaption {
    border: 1px solid #FCADAD;
    padding: 2px;
    margin: 10px 0 0;
    background: #fcd9d9;
    /*font: normal normal 13px Calibri*/;
    font-family: 'Century Gothic', Arial, Georgia;
    font-size: 10px;
    font-weight: normal;
}
/* Los archivos del menu. */
#bcaption select {
    background: #fcd9d9;
    border: 0 solid #F2BBD6;
    color: #FCADAD;
    font-family: 'Century Gothic', Arial, calibri;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
}
/* los colores dia de semana */
table#bcalendar thead { }
/* Head Entries */
table#bcalendar thead tr th {
    width: 20px;
    text-align: center;
    padding: 2px;
    border: 1px solid #FCADAD;
    /*font: normal normal 13px Calibri;*/
    font-family: 'Century Gothic', Arial, Georgia;
    font-size: 13px;
    font-weight: normal;
    background: #FCADAD;
    color: #ffffff;
}
/* The calendar Table */
table#bcalendar {
    border: 1px solid #FCADAD;
    border-top: 0;
    margin: 0px 0 0px;
    width: 100%;
    background: #ffffff;
}
/* Bordes de dias del calendario */
table#bcalendar tbody tr td {
    text-align: center;
    padding: 2px;
    border: 1px solid #FCADAD;
    color: #725c67;
    font-family: 'Century Gothic', Arial, Georgia;
    font-size: 12px;
    font-weight: normal;
    /*font: normal normal 13px Calibri;*/;
}
/* Links del calendario */
table#bcalendar tbody tr td a:link,
table#bcalendar tbody tr td a:visited,
table#bcalendar tbody tr td a:active {
    font-weight: bold;
    color: #FCADAD;
}
table#bcalendar tbody tr td a:hover {
    color: #bbb;
    background: #fcd9d9;
    display: block;
}
/* Sello que marca el dia actual */
td.firstCell { visibility: visible }
/* Cells that have a day in them */
td.filledCell { }
/* Cells that are empty, after the first row */
td.emptyCell { visibility: hidden }
/* Cells with a Link Entry in them */
td.highlightCell {
    background: #fcd9d9;
    border: 1px solid #F2BBD6;
}
/* Tabla del final */
table#bcNavigation {
    width: 100%;
    background: #fcd9d9;
    border: 1px solid #FCADAD;
    border-top: 0;
    color: #FCADAD;
    font: normal normal 13px Calibri;
}
table#bcNavigation a:link {
    text-decoration: none;
    color: #FCADAD;
}
td#bcFootPrev { width: 10px }
td#bcFootAll { text-align: center }
td#bcFootNext { width: 10px }
ul#calendarUl {
    margin: 5px auto 0!important;
    border-bottom: 1px dotted #F2BBD6;
}
ul#calendarUl li a:link { border-bottom: 1px dotted #F2BBD6 }
6.Luego guardas y listo. Recuerda que lo puedes editar a tu gusto,te deje los indicantes para que sepas cada parte. 

Pues eso seria todo~!!Un post largo no?pero la verdad queda hermoso,pueden ver el mio,y ademas los dias que publiques se marcaran.jejje siempre puedes editarlo es facil~!
Si tienes alguna duda me lo dejas saber en los comentarios y en correo~
Recuerda dejar tu comentario~
Les dejo besos de cherryT.O.P
Att:Lee rae mi{dayi}














21 comentarios:

  1. Ohayo!!

    lol esta super kawaii ese calendario *3*

    ResponderEliminar
  2. que hermoosooo , es una lastima que no sirva para la plantilla clasica o si ???

    ResponderEliminar
    Respuestas
    1. Bueno sirve para todas las plantillas de.ebloggers. pero para blogskins aun. No lo he resolvido,sorry!!:(
      Saludos^^

      Eliminar
  3. * - * Oh ! que lindo, muchas gracias por el tutorial, andaba buscando algo así, pero no tan complicado como los html, que les tienes que cambiar todas las fechas cada mes!. Lo pondre en mi bloggi <3

    ResponderEliminar
    Respuestas
    1. siii este es mas sencillo y se actualiza solo~!! eso es lo genial de este calendario~!
      saludos~

      Eliminar
  4. re lindo, gracias por compartirlo y muy lindo el diseño del blog *-*
    besos

    ResponderEliminar
    Respuestas
    1. ohhhh gracias~~~ pasare por tu blog*3*
      saludos

      Eliminar
  5. gracias por el tutorial, si que esta largo :)

    ResponderEliminar
  6. Muy buen tutorial!! aunque se ve largo parece sencillito jeje, gracia spor compartirlo ^^
    Saludos guapa!! :)

    ResponderEliminar
    Respuestas
    1. jejje si es super sencillo~!pero largo^^
      saludos

      Eliminar
  7. Wahhhh justo lo que estaba buscando :)...
    Lo usare en mi blog..Muchas gracias por el tuto de verdad ;)
    Saludos

    ResponderEliminar
    Respuestas
    1. ohh me alegra que se lo que estabas buscando~!!
      saludos~

      Eliminar
  8. Wow gracias por el tutorial , muy bueno! Pero los códigos son muy largos xD
    Saludos Dayi♥

    ResponderEliminar
    Respuestas
    1. ohh sango pero es facil de colocar...no es tan dificil como se ve ^^jejje
      saludos~

      Eliminar
  9. Que lindo, es un lindo detalle para que los lectores vean tus entradas. ¡Gracias!

    ResponderEliminar
  10. Muchas gracias por el tutorial, aunque me da algo de flojera que esté tan largo pero buenoo XD
    Saludos.

    ResponderEliminar
  11. Holaaaa, antes no me daba mucho problema, pero ahora me da un montooon de errores hay alguna manera de actualizarlo?

    ResponderEliminar

Puedes dejar cualquier tipo de comentario(*≧m≦*)Pero si el comentario no es de gusto del blog sera borrado..
No insultes.
No spam(;¬_¬)
Si tienes algo que decirme privado:
dayi123466@gmail.com