lunes, septiembre 03, 2007

Cómo ocultar la fecha de un post

En un comentario reciente, Jabba, de Extrañas Normalidades, hace una pregunta que excede las posibilidades del precario editor de comentarios y por eso, aprovecho este post para responderle.

Quería consultarte acerca de como hacer "desaparecer" la fecha de la entrada en la que he insertado mi Formulario de Contacto, que pese a que le puse una fecha antigua me gustaria que no pusiera ninguna fecha. Se que puedo eliminar las fechas de todos los posts, pero eso no me sirve.

Algo de eso había intentado contar en un artículo referido a Personalizar los posts pero me voy a limitar exclusivamente a la fecha para que sea un poco menos engorroso de comprender.

Para poder manipular una parte de un post individual, debemos identificarlo ya que, en principio, para Blogger todos son iguales ¿Cómo lo hacemos?

Cuando lo publicamos o guardamos, Blogger pone una identificación única (ID) en cada uno, una serie de números. Por ejemplo, en el caso del Formulario de Jabba, este número es: 5981436675105647565.

Cada post tiene un número exclusivo y, en la plantilla, ese dato interno se llama data:post.id. Ese es el número que veremos en la barra de direcciones del navegador cuando lo editamos:

http://www.blogger.com/post-edit.g?blogID=XXXXXXXXXXXXXXXXXX
&postID=5981436675105647565


Ese número identificatorio permanece invariable sin importa lo que hagamos, no se modifica si editamos el post, si le cambiamos el título o la fecha o si lo guardamos como borrador para publicarlo en otro momento.

En las plantillas, normalmente sólo podemos verlo en una línea de código:
<a expr:name='data:post.id'/>
Vamos a utilizar ese número para identificar otros sectores de los posts, por ejemplo, en este caso, la fecha que, por defecto, se muestra con esta instrucción:
<h2 class='date-header'>
...............
</h2>
Cambiaremos es etiqueta, agregándole un atributo ID que le pondrá un nombre único:
<h2 class='date-header' expr:id='"fecha-" + data:post.id'>
...............
</h2>
Esto, le dará al "rectángulo" donde está la fecha de cada post, un ID exclusivo; siguiendo el ejemplo, en este caso, se llamará: fecha-5981436675105647565

Ahora, usando CSS, podremos darle propiedades únicas (ocultarlo) y esto, lo deberemos hacer en el mismo post, agregando, al inicio de todo y en una sola línea:
<style>h2#fecha-5981436675105647565 {display:none;} </style>
De esta manera, le decimos al navegador que en ese post en particular, la fecha no se debe mostrar.

En resumen, el primer paso es modificar la plantilla para crear eso nombres únicos. Hecho esto, de ahí en adelante, todo post tendrá una fecha que podemos manipular. Luego, creamos el post, lo publicamos o lo guardamos y luego, lo editamos para saber cuál es ese nombre exclusivo que aparecerá en la barra de direcciones del navegador. Por último, añadimos la etiqueta STYLE con el dato correspondiente y volvemos a publicar.

La fecha de ese post, no será visible.

36 comentarios:

Renton

Uf... lo siento pero cuando empiezas con tus (h2 tthriie-fecha...

Post8859690494... me lío como un idiota.

:s

JMiur

Jajajaja, es algo bastante simple pero, se requiere tener un cierto conocimiento de las plantillas de Blogger, no tenerles miedo y tener una vaga idea de lo que significa cada simbolito :D

Jabba

Muchas gracias crack. Eres un maestro. ;)

Jabba

Buah, va de lujo. Ya tengo mi formulario sin fecha tal y como quería. De nuevo gracias ;).

Por cierto, en cuanto acabe con exámenes (que ahora mismo voy algo liadillo) me gustaría ponerme en serio y aprender HTML y a controlar CSS tan bien como se pueda. Me preguntaba si me podrías recomendar algun lugar donde haya manuales, tutoriales o simplemente listas de comandos y ordenes con las que poder empezar (por supuesto además de tu excelente sección referente a este tema que tienes aquí en Vagabundia xD).

Renton

Jabba:
me gustaría ponerme en serio y aprender HTML y a controlar CSS tan bien como se pueda

Estás de suerte Jabba, Jmiur tiene uun tutorial muy, muy decente!

Y el tipo lo regala!!!

:D

JMiur

Gracias Renton, eres un publicista de primera :D

El tutorial HTML está ACÁ

El de CSS aún lo debo. No es que sea complicado sino mucho más largo pero, si el inglés no te da problemas, la W3S tiene una "escuela" online bastante interesante: AQUÍ. En español, hay otro manual online AQUÍ.

Jabba

Ok, si que tiene buena pinta. Muchas gracias. Me pondré a ello en cuanto pueda ;).

Percy Salazar

Estoy aprendiendo mucho de aquí. Hasta ahorita no había dejado ningún comentario porque me sentía casi un mal imitador pero déjame decir que estas a otro nivel. Saludos y felicidades por tu blog.

Mas bien quería preguntarte como hacer para crear (como en tus comentarios) fondos intercalados. Por ejemplo veo que tu tienes en algunos un fondo más oscuros que en otros, a eso me refiero.

Gracias.

Knxdt

JMiur

Percy:
Me alegro que te sea útil y por los comentarios, ni te preocupes :)

El tema de los comentarios está explicado en dos posts: 1 y 2

Convendría que empezaras por verlos y luego, cualquier cosa me avisas.

Percy Salazar

Gracias Hermano. Ya tienes mencion aparte en mi blog. Gracias a tu blog he podido mejorarlo ayudándome de tus guías y entradas.

Saludos.

PD: Me verás por aquí mas seguido.

JMiur

Gracias por la mención :)

VANY

Hola!
sabes que traté mil veces este truco y no me funciona. Necesito en verdad que algunas de las secciones de mi blog no aparezcan en Archivo, porque la parte de archivo lo tengo exclusivamente para una selección de Scans de Revistas por mes y año. Necesito por favor ayuda, ya que mi sitio se está haciendo más grande día a día y no puedo seguir con ese "8000" en Archivos. Por favor trata de contactarte conmigo a proverbial.unrest@hotmail.co.uk (si puedes agrégame a msn), si quieres después te agrego en sitios amigos en mi blog o algo así pero en serio necesito ayuda en esto!!!!!!!
Muchas gracias de antemano.


Vany, Chile.

JMiur

VANY:
Envíame un email a vagabundia@gmail.com y veremos de que se trata el asunto y qué puede hacerse para resolverlo.

Curver

Hola al grupo

Mi duda es, y haciendo esto tampoco sale la fecha de esa entrada en el archivo?
por que yo acabo de añadir una entrada con fecha del año 1977 y sale en el archivo abajo de todo...

JMiur

No, lo único que hace es ocultar la fecha del post, no la elimina y, por lo tanto sigue existiendo y se ve en el elemento Archivos ya que este, lista TODO.

Jabba

Te iba a mandar un mail, pero mejor te dejo el comentario en esta entrada porque va en la linea de mi nueva pregunta (así además seguro que le sirve a alguien más).

Ya me explicaste (y muy bien) cómo eliminar la fecha de un post concreto. Lo que me gustaría ahora es eliminar todo el "footer" (Publicado por Jabba, Hora de publicación, Enviar entrada, Compártelo,...) incluido el recuadro del mismo, de algunos posts, como por ejemplo el del formulario de contacto o el del índice de contendidos GNU Linux (por ponerte ejemplos).

He probado colocando scripts parecidos a lo de eliminar la fecha al final del post, pero no consigo resultados.

En tus sabias manos me pongo de nuevo ;).

JMiur

Jabba

Este post es un resumen del artículo original, AHÍ se muestra cómo hacer que no se vean el título y el footer de cada post.

La idea es la misma, sólo hay que agregar el dato en la plantilla para identificarlo. Fíjate si se entiende y luego vemos.

Jabba

Pues la cosa es que con la fecha funciona sin problemas, pero me pongo con el footer y ya es otra historia:

div#footer-7536819911680553340 {display:none;}

Eso no me funciona. He mirado en el HTML de mi plantilla y hacen referencia al footer del post (según puedo entender) las siguientes etiquetas:

post-footer
comment-footer
post-footer-line post-footer-line-1
post-footer-line post-footer-line-2
post-footer-line post-footer-line-3

He ido probando con todas ellas cambiando en el style el div#footer por div# con todas ellas pero nada de nada... :S.

Jabba

El número de ID de mi post es diferente, el que he puesto ahí es un ejemplo.

JMiur

El problema es que el pie de página del post no pose un valor ID sino que es una clase. Dice;

<div class="post-footer">

Eso, preimero que nada habría que cambiarlo para poner esto:

<div class='post-footer'
expr:id='"footer-" + data:post.id'>

De esa manera, le agregamos el ID. Luego si, ya lo podemos usar:

div#footer-7536819911680553340 {display:none;}

Jabba

Vale, mil perdones. Evidentemente había que hacer con el footer lo mismo que con la fecha, habilitar un ID exclusivo. Si la cosa es que lo explicas perfectamente en la entrada, pero no sé por qué he omitido por completo la necesidad de cambiar también la parte HTML del footer (cuando sí que lo había hecho ya para la fecha) :S.

Ahora por supuesto me funciona sin problemas ;).

La absurda costumbre del ser humano de obscecarse con algo que tiene delante de sus narices y que aun así sigue sin ver.

Muchas gracias ;).

JMiur

Si te sirve de consuelo, es lo más normal el mundo :D

Me alegro que funcionara.

jesgo

Enhorabuena por el blog.
Estoy interesado en incorporar un formulario de contacto como el que tienes en tu blog pero me topo con el tema de ocultar el bloque de los comentarios. Me podrías indicar como hacerlo?
Gracias

JMiur

En principio, para eso, habría que ocultar el pie de página del post. Eso, lo puedes ver ACÁ.

Además, en las Opciones de entradas de ese post, deberías marcar "No permitir, ocultar existentes" tanto para los backlinks como para los comentarios.

Fijate si esto soluciona el tema y si no, envíame un mail. Si logras ocultar la fecha, lo del footer, donde están los comentarios, es similar.

jesgo

Solucionado, ya había ocultado la fecha y el footer, sólo me quedaba lo fácil, no permitir los comentarios en ese post..
Muchas gracias, JMiur

jesgo

De nuevo con otra pregunta.. gracias anticipadas.
El caso es que en otro blog la fecha la muestra un script de la siguiente forma:
<b:if cond='data:post.dateHeader'>
<div id='fecha'>
<script>remplaza_fecha(&#39;<data:post.dateHeader/>&#39;);</script>
</div>
</b:if>

Y ahí es donde me viene el problema de cómo ocultar la fecha.

JMiur

En este caso, deberás agregar un nuevo dato para ocultar ese otro elemento. En lugar de:

<div id='fecha'>

poner:

<div expr:id='"fecha-" + data:post.id'>

Pero, habrá que modificar algo más: el CSS que tiene las propiedades de ese calendario:

#fecha {...........}

como no puede tener otro ID, usaremos una clase:

.fecha {...........}

así que quedaría:

<div class="fecha"
expr:id='"fecha-" + data:post.id'>

¿Suena tan confuso como me lo parece?

jesgo

Nada confuso, todo solucionado.
No se te resiste nada. Estás invitado a una cerveza jeje aunque tendrás que cruzar el charco.. :).
De nuevo, muy agradecido.

JMiur

Me alegro que se entendiera :D

Botxero

Aupa Jmiur!! Este post me viene al pelo, jejeje.. Yo al contrario del resto quiero que la fecha salga en todos los post. Si publicas mas de uno al dia, la fecha solo aparece en el primero y me gustaria que apareciese en todos. ¿Es posible?

Gracias por todo esto que haces.

Un saludo, y si me visitas siempre serás bienvenido. ;)

JMiur

Botxero:

¿Eso es por el calendario que usas? Si es así, hay un post al respecto, para forzar que se muestre la fecha siempre y esos calendarios no queden vacíos.

El problema es que no sé que script usas. Todos son similares pero puede haber pequeñas diferencias en el código.

Botxero

uf! Creo que me estoy metiendo en camisa de once varas.. jejej.

Si, es por el tema del calendario que aparece en los titulos. ¿Puedo enviarte los pasos que seguí por email?

Un saludo y gracias por contestar tan rápido.

JMiur

Adelante, mándalo y vemos si puede adaptarse.

Lapze

Esto es realmente exelente, me salio el primer intento, muy buen blog, tiene cosas muy interesantes.

ahora voy a ver si puedo hacer lo de los comentarios incrustados! :D

Saludos!

JMiur

Me alegro que funcionara Lapze- Este es de los trucos más engorrosos así que no creo que tengas problema con los comentarios incrustados :)

¿Quiere dejar un comentario?

Utilice el formulario adjunto para comunicarse.

Agregar un comentario al viejo estilo ...