Referencia: Blogger: la fecha de los posts
Este hack, lo que permite es colocar calendarios al estilo WordPress que reemplazan el texto de la fecha de las entradas por una imagen. El problema aquí se produce porque Blogger no coloca la fecha en todas las entradas; si un día tiene de una entrada, sólo la última tendrá fecha y, por lo tanto ese calendario no se verá.
Esto, dependiendo del tipo que usemos, no tendrá consecuencias pero, en muchos casos, lo que provoca es la aparición de un texto (UNDEFINED) o el desmadre de los títulos que ahora tienen más espacio y tratan de acomodarse como pueden.
El script original era el siguiente:
<script type="text/javascript">
//<![CDATA[
function calendario(cual){
var lafecha = cual.split('-');
fday = "<div class='caledia'>"+lafecha[0]+"</div>";
fmonth = "<div class='calemes'>"+lafecha[1]+"</div>";
fyear = "<div class='caleanio'>"+lafecha[2]+"</div>";
document.write(fmonth+fday);
}
//]]>
</script>
¿Engorroso? No importa, el script debería cambiarse de esta manera:
<script type='text/javascript'>
//<![CDATA[
var ultimaFecha; // contendrá la última fecha
function calendario(cual) {
if (cual == "") {
cual = ultimaFecha; // Blogger no envia la fecha, usar la anterior
}
var lafecha = cual.split('-');
fday = "<div class='caledia'>"+lafecha[0]+"</div>";
fmonth = "<div class='calemes'>"+lafecha[1]+"</div>";
fyear = "<div class='caleanio'>"+lafecha[2]+"</div>";
document.write(fmonth+fday);
ultimaFecha = cual; // preservar la última fecha escrita
}
//]]>
</script>
57 comentarios:
Pero que bien, a mi me pasa siempre eso, como no tengo regularidad británica, a veces posteo en un solo dia todo lo que no he hecho en un mes :D
Cómo se haceee !! jejeje (clases plz)
Ya que el problema original lo vi en tu blog, te has ganado el premio y te enviaré un mail con la solución. De cualquier manera, bastaría cambiar un script por otro :D
Pero donde coloco el script?? justo antes de el cierre ??? Gracias.
El script va en el encabezado de la página, por ejemplo, antes de la etqieueta </head>.
Para más detalles, fíjate en el artículo original.
Saludos JMiur, aun no lo he logrado :p
mi duda es, en la primer parte habra que agregar algo más?
d = ultimaFecha; ????
o es todo? (la 'd' es porque he cambiado 'cual' a 'd')
Se ven las fechas normales en mi blog, pero no logro que los posts de los mismos días tengan fecha, solo el primero, en los demás sigue apareciendo solo la imagen del calendario. si me puedes ayudar... me avisas? :D
P.D. Cambie mi nick de Okrut por Opcionez
El primer paso, sería reubicar el script.
En este momento, está dentro del body y debería estar dentro del head, es decir, por encima de la etiqueta </head>
No necesariamente eso lo resolverá pero es imprescindicble.
En cuanto al código, lo que dices es cierto y, hasta donde puedo ver, es correcto.
Ahí estaba antes, pero si lo pongo antes de </head> me aparece el tan mencionado error: Your template is invalid because the tag 'div' appears inside of the tag 'head'.
Seguiré viendo que puedo hacer.
Correcto; entonces, primero, debes reemplazar los símbolos < y >
cambias < por <
y > por >
fday = "<div class='fecha_dia'>"+da[0]+"</div>";
fmonth = "<div class='fecha_mes'>"+da[1].slice(0,3)+"</div>";
y colocarlo en el head.
Pues he intentado varias cosas y aun no lo logro, ya está dentro del -head-, siempre aparece la imagen sola sin el numero ni el mes. solo el primer post aparece.
Crees que exista la manera de hacer que la imagen no aparezca cuando no exista la fecha, vi en Quien entra, ¡Vuelve! que resolvieron esto de esa manera, en los post del mismo día simplemente no aparece la imagen... Gracias de antemano ;)
Opcionez:
El script parece estar bien. Lo que veo online en tu blog es que, cuando la fecha "se repite", el script no se ejecuta. Eso, debe producirse por el lugar o la forma en que es llamada.
Esa parte es la que no puedo ver ya que es parte del código de la plantilla. Necesitaría ver el código original.
Listo JMiur, te mande la plantilla a tu correo, En un tiempito que tengas le echas una ojeada :P
Gracias!
Opcionez
Por ahora no ha llegado. Te recomendaría enviarla otra vez porque es raro que demore tanto.
Hola, genio. Te molesto para ver si me ayudas con una cosa relacionada a este post:
No quiero usar el script para modificar la estética de la fecha, lo único que deseo es mostrar la fecha en todas las entradas, aún en las que se publicaron el mismo día. Imagino que se debe poder hacer, no entiendo por qué Blogger no lo permite. te agradezco de antemano. Saludos!
Es sencillo pero hay que usar JavaScript, por lo menos, no veo ninguna otra alternativa ya que Blogger es bastante misterioso en este tema.
Va a depender de las plantillas pero, generalmente hay algo así:
<b:if cond='data:post.dateHeader'>
<h2><data:post.dateHeader/></h2>
</b:if>
No importa si no es muy exacto, lo fundamnetal es que la fecha está en <data:post.dateHeader/>
Alli dice que si hay una fecha, se muestre. El problema es que cuando no la hay tampoco hay un dato que escribir, así que, siguiendo el mismo criterio que el calendario, podemos hacer que "recuerde" la ultima fecha. Si en un post no hay fecha, entonces, que use la anterior:
<b:if cond='data:post.dateHeader'>
<script>var ultimaFecha = '<data:post.dateHeader/>';</script>
<h2><data:post.dateHeader/></h2>
<b:else/>
<h2>
<script>document.write(ultimaFecha);</script>
</h2>
</b:if>
Graciaaas! Pequeños conocimientos como este te hacen grande. Un abrazo.
No consigo que esto (la fecha en todos los post de un mismo día) funcione en mi blog. ¿Podrías pegar un vistazo y decirme porqué?
Gracias.
Xesc:
Lo veo, el problema es que no puedo dar una respuesta exacta porque para eso debería ver la plantilla pero, como es un problema que he visto que otros blogs, te doy una idea. Si no funciona, comunicate por mail y vemos los detalles:
<b:if cond='data:post.dateHeader'>
<div class='calefecha'>
<script>calendario('<data:post.dateHeader/>');</script>
</div>
<b:else/>
<div class='calefecha'>
<script>calendario('');</script>
</div>
</b:if>
Probé la solución y funciona perfecto.
Mil gracias.
Me alegro Xesc :)
Hola, tengo un pequeño problema, pero que es importante, se trata del posicionamiento de la fecha, en la fecha del ultimo post publicado aparece en un lugar, pero en los que se publicaron antes aparece corrida para arriba unos cuantos pixeles, mi blog es Matacerebros
espero tu respuesta, gracias de antemano.
Cual es tu correo JMiur tengo problemas con la fecha, intente lo que escribistes pero no pude solucionarar el problema, te quiero mandar mi plantilla. mi correo es alberth164_4@hotmail.com
alberth: está en la sidebar vagabundia@gmail.com
estaba mirando como poder poner la fecha en todos los post pero no entiendo como se hace me puedes echar una mano?
Tendría que mirar la plantilal para ver como está armada.
Te la envio entonces y cuando puedas me la miras?
Si, no hay problema.
Tengo aplicada una opción para ver las fechas en las entradas, pero no logro hacer que se vea en todas las entradas.
Que podra ser que no logro qeu se vea en todas las entradas la fecha
Salvo que fuerces las cosas con un script, Blogger no mostrará las fechas en todas las entradas. Si hay varias el mismo día, sólo muestra una.
Pero en el caso qeu se pudiera, me podrias guaiar como hacerlo
La forma que hacerlo es usando el scrpt de este mismo post. En todo caso, empieza con este otro para ver si el problema es el mismo.
Jmiur no he podido colocarlo aun devido a que me sale esto:La plantilla no es válida porque la etiqueta "div" aparece dentro de la etiqueta "head".te agradezco de antemano tu ayuda
ubbalho:
Podría ser un problema de los DIVS que aparecen en el script ya que no veo otros en tu blog.
He corregido eso en los scripts del posts, verás que se agrega:
//<![CDATA[
y
//]]>
y de esa manera se evita ese problema pero, si el error persiste, envíame la plantilla por si hay algo que online no logre distinguir.
Hola JMuir, bueno voy con esto ahora. Veremos qué sucede en mis plantillas, ya que las originales ya vienen son un ícono (que yo quité). Y estoy sin fechas desde que recomencé. Si luego de 8 horas no lo logro...:D
Si pude gracias a vos con los comentarios, debemos poder con esto.
Ah... desde ayer Blogger ha decidido que mi blog de pruebas -donde guardaba todo lo que me has enseñado- y todos los códigos; es SPAM. Imposibilidad absoluta de ingresar al mismo hasta "que ellos decidan".
No puedo creerlo........... (o más bien, si)
Un beso, me voy con esta info a (nuevo blog de pruebas)
Con este código y todo el post anterior porsupu - a eso me refería-porque el tema es que yo no quiero imagen.
Me gustaría que quedaran en negro lo más parecidas a las tuyas. Espacio hay, es más, se nota en mis blogs el vacío que hay antes de cada título.
Bueno, me voy.
;-)
Mar:
Lo que veo en tus blogs es que el script de las fechas es inaccasible
http://myblogtalk.com/bloggertemplates/zanblue/jdate.js
404 - PAGE NOT FOUND
Al margen de eso, un detalle que veo es que estás cargando dos veces algunos scripts. Como usas el API de Google para cargar Prototype y Scriptaculous. Deberías quitara todos esos scripts que la cargan y que estan en SkyDrive:
prototype.js
scriptaculous.js ?load=effects
effects.js
lightwindow.js
lightwindow.css
Incluso lightwindow.js y lightwindow.css están repetidos, quitarlos mejorará el tiempo de carga y evitará problemas futuros. Sólo deja los que están debajo del API, los de arriba son innecesarios.
Hola, JMiur, ese código lo acabo de quitar, con otro que está expandiendo artilugios...
pero sólo logro ver la primera de las fechas y en pruebas, que de ayer tengo sólo dos posts, en la de abajo no sale.
Esa parte de código que marcás para último cambio (intento a ver si me la toma)
-bueno va más o menos-
b:if cond=data:post.dateHeader
Yo no la tengo en la plantilla
es por eso?
(ya ordeno mis plantillas, ya las ordeno!)
Mar, acabo de ver tu mail y lo he contestado. Empecemos por esa parte que es la configuración de la fecha.
Estaba escribiéndote aquí! Lo logré! No me preguntes cómo pero le gane a esa bendita plantilla !
No ha quedado como lo deseaba, pero, hay fecha en todos los posts.
No quité los ojos de mis códigos, ni de dos posts tuyos al mismo tiempo, perdón, ni vi que entró correo.
Acabo de pasarlo a itinerarios. Cuántas horas fueron?
(hoy no trabajaba)
Ya te leo!
Está mal que haya dicho "no me preguntes cómo". Si no hubiese estado con tus posts horas no lo lograba. Siempre termino dejando las preguntas aquí y las gracias te las doy por mail y no me parece justo.
Recién igual. De modo que vuelvo y dejo las gracias aquí.
Un beso
Me alegro que haya quedado resuelto, Mar. Me gustas ese esfuerzo, e muy reconfortante :D
JMiur, la fecha con el calendario no aparecian en todas las entradas, gracias a este post lo solucione, cuando estaba a punto de enviarte un correo. Como utilizo una imagen de calendario no aparecia el año bajo la imagen lo solucione modificando:
document.write(fmonth+fday);
por
document.write(fmonth+fday+fyear);
Gracias.
Perfecto, Roudy. Me alegro que fuera útlil :D
Genial, este post y el otro al que hace referencia me han venido perfectos para hacer lo que llevaba mucho tiempo queriendo hacer en nuestro blog (http://vadereirse.blogspot.com/) y eso que aún no le he metido la imagen del calendario. Con todo lo que explicas he podido ir resolviendo los problemillas y dejarlo todo a mi gusto. Muchas gracias :)
Me alegro que sirviera, Chus :D
Fijate la fecha de este comentario... fijate la hora de este comentario, después de tu último mail, después de saltar de post en post, éste lo había leido miles de veces, y sabés qué? suelo leer los comentarios por si en alguno encuentro consejos adicionales, pero creo que me "saltié" uno en especial. El comentario Nº17 de ésta entrada me orientó a la solución. Gracias TOTALES!!!
He leído con atención hasta el comentario 46… sinceramente, nada tiene desperdicio. Tanto la entrada como los comentarios hacen de la lectura un verdadero placer. Todos son del equipo Vagabundia. FELICITACIONES :D
¡Que paciencia! :D
JMiur ya debes haber escuchado un montón de veces este problema, pero no consigo que se vean las fechas en todos los post..jeje ya me parece gracioso decirlo porque ya está quemado, x lo q no me esfuerzo en explicarte más mi problema, sólo te pregunto que debo hacer? ya stoy frustrado de intentar varias soluciones sin éxito..:(
Fíjaete en esta entrada porque hay problemas con las fechas. O en esta otra que es la forma que me parece más cómoda de resolver el asunot y es la que estoy usando ahora.
Un saludo, y el deseo de un excelente año.
JMiur quería hacerte una consulta, blogger cambio el formato de fechas para el encabezado de cada post (entrada) existía el que era algo así ene, 10,09 ó ene/10/09 el problema es que esas dos formas ya no existen en blogger y mi imagen para que la fecha se vea como calendario no admite el mes completo y ahora en el mes solo puedo ponerle el numero, donde iba el mes (abreviado) ejemplo (ene) así era antes a (enero) el cual es ahora. Mi pregunta es: Si hay una forma, script o algo para poder cambiar el formato que establece Blogger? Para
De antemano agradezco tu gentil Ayuda.
A ver si entendí. Ahora, lo que ves es el número del mes y no el texto porque ya no existe la opción anterior.
Si esto es así, fíjate si lo que está en esta entrada te sirve. No puedo escribirla toda acá pero, es la parte de:
// LAS FECHAS DE LOS POSTS
En tu script, antes de:
function calendario(cual) {
deberias colocar la lista de meses:
var mes=new Array();
mes[1]="ene"; mes[2]="feb"; ...
y luego, en lugar de mostrar el mes con:
lafecha[1]
lo muestras con algo así:
mes[lafecha[0]]
Fíjate y si no me mandas un mail con el script actual y lo vemos.
:)JMiur un saludo!
Gracias por tu rápida respuesta, ya te he enviado la plantilla y la imagen como se ve actualmente el calendario,
Lo acabo de contestar, hay un error en el script, te envié la corrección. Colócala y vemos.
Ya he cambiado el script que me mandaste y como en el post lo puse antes /head de igual manera el script de la imagen del calendario lo puse antes de /b:skin y sigue sin verse el día ni el mes, solo la imagen del calendario.
Un saludo.
:)Esta hecho, en el script que me mandaste, solo era cambiar en la parte final (fday+fmonth+fyear) por (fmonth+fday+fyear) cual lo hizo egoloco ;) mirando en su comentario, me dio la idea y así lo hice y ya funciona.
Agradezco mil JMiur tu ayuda y paciencia y aquí seguiremos aprendiendo más de este mundo del Blog.
Se me olvidaba,,,, gracias egoloco
Un Saludo!
Tienes razón, no me di cuenta que el orden dia/mes estaba invertido :D M ealegra que se resolviera.
¿Quiere dejar un comentario?
recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...
Nota: sólo los miembros de este blog pueden publicar comentarios.
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 ...