Aunque no lo he implementado acá, en este blog de pruebas se lo puede ver funcionando y quedará algo así:

Para aplicarlo, lo primero es descargar el script correspondiente que está en este archivo ZIP
, ya traducido al español. Aunque no es necesario modificarlo para que funcione, podría editarse y cambiarse algunos detalles como los textos que se muestran por defecto.Podemos agregarlo de dos maneras, lo alojamos en un servidor o bien copiamos y pegamos el contenido dentro de estas etiquetas, justo antes de </head>:
<script type='text/javascript'>
//<![CDATA[
// aquí pegamos el contenido del archivo
//]]>
</script>
<script chartset='utf-8' src='/feeds/posts/summary?max-results=0&alt=json-in-script&callback=timezoneSet'/>
<b:widget id='BlogArchive1' locked='false' title='XXXXXXX' type='BlogArchive'>
.......
</b:widget>
<b:widget id='BlogArchive1' locked='false' title='NOMBRE' type='BlogArchive'>
<b:includable id='toggle' var='interval'> <!-- Toggle not needed for Calendar --> </b:includable>
<b:includable id='interval' var='intervalData'> </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>
<thead id='bcHead'/>
<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 id='bcFootAll'/><td id='bcFootNext'/></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='menu' var='data'> </b:includable>
<b:includable id='posts' var='posts'> <!-- posts not needed for Calendar --> </b:includable>
<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>
</div>
</b:includable>
</b:widget>
Estilo Lista Menú desplegable

#blogger_calendar { /* es el bloque donde lo mostraremos */
margin:0 auto; /* centrado */
width: 190px; /* el ancho */
}
#bcaption { /* el rectángulo superior con los meses */
height:20px;
text-align:right;
}
#bcaption select { /* este es el selector de los meses */
background-color: #345;
border: 1px solid #567;
color: #DDD;
font-family:Tahoma;
font-size:11px;
padding: 0 0 0 10px;
width:100px
}
table#bcalendar thead tr th { /* cada una de las celdas con los nombres de los dias de la semana */
background: #345;
border: 1px solid #567;
color: #EEE;
font-family: Tahoma;
font-size: 11px;
font-weight: bold;
padding: 2px;
text-align: center;
width: 20px;
}
table#bcalendar tbody tr td { /* cada celda con el número del dia */
background: #567;
border: 1px solid #789;
color: #ABC;
text-align: center;
padding: 2px;
-moz-border-radius: 2px;
}
td.highlightCell { /* las celdas donde hay entradas */
background-color: #9AB !important;
}
table#bcalendar tbody tr td a { /* el enlace de esas celdas */
color: #000;
font-weight: bold;
}
td.firstCell { /* las celdas vacias del inicio */
visibility: hidden; /* podemos hacerlas visibles usando visible */
}
td.emptyCell { /* las celdas vacias del final */
visibility: hidden; /* podemos hacerlas visibles usando visible */
}
td.filledCell {background: #FFF;} /* el color de esas celdas vacias si es que están visibles */
table#bcNavigation { /* es la barra de navegación inferior */
color: #DDD;
background-color: #123;
border: 1px solid #234;
font-family:Tahoma;
font-size:10px;
margin: 5px 0 0 0;
padding: 0 ;
text-align:center;
width:190px;
}
table#bcNavigation a {color: #ABC;} /* el color del texto */
td#bcFootPrev {float: left; width: 10px;} /* el enlace hacia atrás */
td#bcFootNext {float: right; width: 10px;} /* el enlace hacia adelante */
#calendarDisplay{ /* debajo se muestra la lista de entradas */
}
/* esta es la lista inferior donde se muestran las entradas del mes */
ul#calendarUl { }
ul#calendarUl li { }
ul#calendarUl li a { /* cada item de la lista es un enlace */
color: #9AB;
display: block;
font-size:11px;
padding-left:30px;
}


































36 comentarios:
intentando
listo ya lo ise :D al principio el único error mió fue que no tenia mi archivo del blog como lista una ves puesto a si me sorprendí son los resultados
Que tal, gracias por la contribución, sólo tengo una duda, funciona como debe ser?, pues tengo implementado uno similar, pero al parecer tiene un erorcillo por alguna parte, pues después de algún tiempo, algunos de los días, los marca como que no existen entradas, y cómo es molesto eso, pero como no había otro, pues...
Otra cosa, no hay manera de que muestre el año?...
Gracias, nos vemos..
fantástico JMIUR ya probaré hacerlo, buen lunes :)
Lo malo es que no muuestra un enlace directo a la entrada, usa uno como este http://jmiur.blogspot.com/search?updated-max=2010-06-05T23%3A59%3A59-03%3A00&updated-min=2010-06-05T00%3A00%3A00-03%3A00
Se podrá cambiar para que muestre un enlace directo?
Delyriaz: ¡Qué velocidad! Perfecto :D
proteo: Por lo que veo, funciona ien pero no puedo saber si produce conflictos, simplemente muestra lo mismo que muestra el elemento Archivos. No tengo forma de comprobarlo. Lo del año, no sabría contestarte.
Graciela: Inténtalo, es bastante sencillo de poner :)
Bonzu: Ningún modelo de calendario haría eso ya que en una misma fecha podría haber varias entradas distintas por lo tanto, sería imposible.
Cierto olvidaba ese detalle :$
Que tal, una pregunta, hay manera de quitar la lista con los enlaces a las entradas correspondientes o cuando menos de limitarla un poco, pues algunos días, tengo hasta 20 entradas, y eso lo haría demasiado largo, y con lo del año, pues ni modo, ojalá que saquen alguno que contenga el año, nos vemos...
¡Qué buen truco! Lo he visto en el blog de pruebas y sin duda queda más retro que el típico listado del archivo de Blogger. Yo lo eliminé de la sidebar hace tiempo pero pienso probar esto a ver qué tal.
Un saludo maestro. Espero que todo siga genial ;) .
Ocultarla es posible:
#calendarDisplay {display:none;}
Para quitarla habría que modificar el script.
Saludos, Jabba ¡tanto tiempo sin saber de usted! Es una alternativa interesante si no hay demasiadas entradas mensuales, se ve bien y puede crearse cualquier diseño. Espero que lo aplique para verlo :D
Que tal, desgraciadamente, parece arrastrar el mismo error que el calendario anterior, al parecer, al ser muchas entradas en un mes, el calendario no puede soportarlo, pues en un mes tengo 250, y es en ese mes, en el que tengo el error, lástima:$, ojalá alguien sepa y avise como poder arregrarlo, pues se ve más presentable el archivo del blog así, pero para el que le sirva, si se puede poner el año, sólo hay que configurarlo para que lo muestre (enero 2009), y en el CSS, ajustar la caja haciendola más grande, nos vemos...
proteo:
La cantidad de feeds que pueden leerse está limitada a un máximo de 100 entradas. Lo único que puede hacerse es agregarle un valor más alto lo que no significará que funcione, sólo que es posible:
<script chartset='utf-8'
src='/feeds/posts/summary?max-results=500&alt=json-in-script&callback=timezoneSet'/>
Que tal, gracias por el tip, lo probé, pero no funciona, así que en el inter, lo dejaré así, a lo mejor más adelante, que más gente lo pruebe, encontrarán la solución, otra cosa, no sabrás de casualidad porque al entrar al link que muestra el calendario en cierto día y mandarte a la página individual, este ya no se muestra, nos vemos...
Hola, retiro la pregunta, no se muestra porque le dejé una condicional, y nunca la borré, nos vemos...
Mu chulo. Hace tiempo busqué algo así, aunque ahora ya me da más pereza implantarlo. Echaba de menos los títulos de los post, pero al ver el ejemplo de prueba me he dado cuenta de que son los textos que salen debajo. Un saludo.
Sí, lo que se muestra debajo son los títulos de los posts del mes.
Hola, gracias por el post buenísimo
pero a mi no me salen los números y ya revise todo que
habrá pasado se me habrá olvidado algún código o que falta.
Pués no lo veo en ninguno de tus blogs, Gian.y necesitaría verlo para responderte.
Hola JMIUR, dime entube mirando que cada ves que coloco una entrada el widget de archivo que muy generosamente tome de esta entrada se expande en su parte de inferior, haciendo referencia a cada post, observe si veía algún numero que las redujera pero no lo halle... la pregunta que tengo que cambiar para congelar la cantidad de post que aparecen en ese sitio. la otra pregunta se puede centrar o dar propiedades a un widget o un gadyed de imagen que no tiene por donde agregarle nada. gracias maestro
No hay forma de controlar la cantidad. Puedes mostrarlos o no mostrarlos (como en el ejemplo de este post). Eventualmente, podrías dimensionar la altura y que aparezca una barra de desplazamiento:
ul#calendarUl { height: valorpx; overflow-y: auto; }
El elemento Imagen no tiene opciones así que sólo es posible darle propiedades si usas el ID de ese elemento:
#NOMBRE { ........ }
Es más sencillo colocar las imágenes en un elemento HTML que te permite poner culaquier tipo de código.
Hola Jmiur una duda como puedo hacer para que no muestre los post mas recientes debajo del calendario ya lo intente pero no puedo espero me puedas ayudar Gracias...
xRojôx:
Coloca esto:
ul#calendarUl {display:none;}
y con eso las ocultas. No pueden sacarse, son aprte del script pero si pueden ocultarse porque si son muchas son molestas.
muchas gracias por contestar tan rapido aprovecho para agradecerte por este blog que me ha servido de mucho en el blog Saludos Jmiur suerte en tus proyectos
Gracias, xRojôx. Me alegro que sirviera de algo.
Hola JMiur,
He seguido todos los pasos pero no se implanta como debiera. No aparecen los números de los días ni los enlaces.
Es muy probable que haya metido la pata en algo, pero he repetido el proceso y me vuelve a ocurrir lo mismo. ¿Qué puede ser?
La dire del blog: www.raulfernandezdepablo.blogspot.com
Como ese blog sólo acepta invitados, no sabíra decirte cual es el problema.
Hola Jmiur me funcionó perfecto y quedo buenisimo. Lo que me paso muy extraño es que cuando me pase a un dominio personalizado .com.ar dejo de funcionar y me muestra la lista normal. Lo mismo me pasa con otros artilugios tuyos que implemente como el de ultimos comentarios ("ya mismo") y el de ultimos post con miniatura. Lo mas raro es que en la vista previa se ve perfectamente funcional :S
Por supuesto que cambie las direcciones de los feeds que ya estan funcionando normalmente con el nuevo dominio. ¿alguna idea?
galo:
No sabría responderte. No debería pasar ya que se leen feeds ¿Será un problema de los feeds? ¿Faltará redireccionarlos al nuevo dominio?
Es notable el hecho de que la vista previa funcione perfecto y volviendo al dominio blogspot tambien. No lo pego aca por que como mi actividad es comercial no queda bien. Si te interesa te mando por mail el link como curiosidad por que se ve que es un tema que esta fuera de nuestro alcance.
galo: Envíalo, no hay problema. Tal vez vea algo que sirva para buscar la solución, no perdemos nada probando :)
Jmiur hice como me dijiste por mail y pegué los scritps en la plantilla, quedo todo funcionando perfectamente. Debí hacerte caso cuando planteaste tus dudas en otro post donde dije que google sites ahora podia alojar scripts .js sin cambiar la extensión. Eso me funcionó pero inexplicablemente (al menos para mi) solo mientras el dominio era de blogspot. De todos modos aclaro que con el dominio personalizado y cambiando la extension de los scripts también funciona alojándolos en google sites. Muchas gracias por tu ayuda.
Me alegra que se resolviera, Galo. No es la primera vez que veo que pasa eso con Google Sites; como no lo uso no sabría decirte por que ocurre, ¿habrá alguna restricción?
Si algo asi es lo que conjeturé. Ahora no me acuerdo bien, pero en un momento habia notado que algunas imagenes funcionaban o no segun si el link incluyera el parametro ?attredirects=0 , que no se que es, pero asi es como aparece cuando uno copia la direccion directamente desde el objeto en cuestion en google sites.
Suena a un parámetro interno. Acabo de leer esto en un Grupo de Ayuda. Tal vez, es un parámetro obligatorio açun en los scripts.
De acuerdo a lo que he estado probando, el número de celdas del calendario debería ser 42, y no 37 como está actualmente publicado el código.
¿Quiere dejar un comentario?
Hay varios métodos posibles.
Uno de ellos es el formulario de comentarios que tan generosamente nos ha regalado Blogger y que funciona sólo de tanto en tanto. Su uso es aconsejable sólo en caso de ser una de esas personas a las que les gustan los retos y los desafíos.
¿No quiere arriesgarse? Haga click para ocultarlo y utilice las otras opciones.
Todos los archivos y demos alojados en Fileden han sido redireccionados y deberían estar funcionando correctamente.
De todos modos, también puede accederse a ellos a través de SkyDrive
Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.
Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...
Los comentarios están siendo moderados y serán publicados a la brevedad.