Publicidad:
Terra
La Coctelera

Ad astra

El blog es de Chuck Norris y me lo follo cuando él quiere

14 Noviembre 2005

Comentarios numerados en Ad astra

¿Qué he hecho?

Como todos mis lectores y lectoras habituales saben, soy un culo de mal asiento, y siempre estoy buscando formas de mejorar el blog. En este caso he copiado una idea que he visto en muchos blogs, la de numerar los comentarios. En particular, me gusta la forma discreta que tiene la numeración de comentarios en el blog de Javi Moya.

¿En qué consiste esto? Ahora, cada comentario del blog va numerado según el orden en que se haya introducido. Para no ir muy lejos, pueden comprobarlo en los comentarios a mi historia sobre el Faro de Maspalomas.

He probado el tema en Mozilla Firefox, en Internet Explorer y en Opera, todos bajo Windows. Si alguien ve algún problema, en estos navegadores o en cualquier otro, que me lo diga, si es posible indicándome qué error exacto se ha producido (en caso de que se vea, claro).

¿Y esta chorrada para qué es? No se crean que se trata solo del placer estético. No señor, tiene su utilidad. Si estamos manteniendo una conversación a través de los comentarios, siempre puedes referirte a un comentario por su número (por ejemplo, «y como dijo yeyo en #5, resulta que...»). Si hay varios comentarios de una sola persona, así resulta fácil identificarlos.

Ya me contarán qué les parece el invento.

¿Cómo lo he hecho?

Ahora voy a ponerme un poco tecnológico. Si te bastó con lo anterior, pasa de seguir leyendo. Si tienes curiosidad, masoquismo o simplemente no va a sonarte a chino lo que voy a decir, sigue adelante. Bueno, puedes seguir si te da la gana, claro :)

Para conseguir esto he utilizado los siguientes elementos:

  • Conocimiento de Javascript y del DOM, aparte de alguna ayudita de mi compañero de trabajo Toni.
  • Divina inspiración obtenida en otros blogs que utilizan numeración para indizar los comentarios.
  • El hecho de que las páginas de La Coctelera están bien estructuradas y es fácil separar los comentarios del resto.

Los comentarios en una historia de La Coctelera se encuentran encerrados en una capa (<div>) cuyo identificador es #comentarios. Por otro lado, cada comentario dentro de dicha capa se encuentra dentro de una capa cuya clase es .comentario. Por lo tanto, ya tengo identificado lo que necesito.

Ahora solo tengo que trastear con estos elementos. En esencia hago lo siguiente:

  1. Averiguo cuál es la capa que contiene todos los comentarios.
  2. Capturo de golpe todos los comentarios de esa capa.
  3. Voy recorriendo los comentarios que he capturado. Para cada comentario, hago lo siguiente:
    1. Creo un párrafo «al vuelo» e inserto el número del comentario dentro del párrafo (llevo un contador del número de comentarios).
    2. Averiguo cuál es el primer párrafo del comentario (suele estar vacío, a menos que se trate de un trackback o referencia).
    3. Inserto el párrafo con el número de comentario antes del primer párrafo que he encontrado, para que aparezca justo al principio.

Y eso es todo. El aspecto del número, por supuesto, con el correspondiente estilo. Cada párrafo con el número de comentario es de la clase .commentIndex, para luego poder aplicarle márgenes, colores y todo eso.

Si les apetece, pueden ver el código fuente para numerar comentarios (si estás usando Internet Explorer tendrás que descargar el fichero para luego poder verlo en tu ordenador).

Bueno, ya me he rayado bastante con la tecnología.

servido por adastra 15 comentarios compártelo

15 comentarios · Escribe aquí tu comentario

Jacosito

Jacosito dijo

No, no, no, no.

Error
Se produjo un error en tiempo de ejecución
¿Desea depurarlo?

Linea 2:
Error:´capaComentarios´ en nulo o no es un objeto.

Comprueba el fallo tio
Esto de ser Betatester me lo vas a tener que pagar.

14 Noviembre 2005 | 08:15 PM

JesusDQ

JesusDQ dijo

Está muy bien y siempre son útiles... aunque lo que he notado en algunos blogs que lo usan es que se deshumaniza mucho... muchos no dicen "Respondiendo a Juanito, tal", sino que dicen "Respondiendo a #2, tal"...

Ahora, lo que yo le añadiría sería un sistema de enlaces permanentes para cada comentario...
(Por pedir que no sea... xD)

14 Noviembre 2005 | 09:02 PM

erguiri

erguiri dijo

Bueno, y para cuando feed de de los comentarios ??? no puedes tirarles de las orejas a los de la coctelera a ver si se enrollan?

14 Noviembre 2005 | 09:27 PM

Jacosito

Jacosito dijo

Tras conversación telefónica mantenida con el calvo y habiéndole comentado el error que aparece en su blog, el muy hijo de placa madre sabe dónde está el error y sabe como arreglarlo. Eres mi ídolo calvo.

Ya publiqué lo que te comenté ésta tarde.

14 Noviembre 2005 | 09:30 PM

adastra

adastra dijo

Atención: explicación para desarrolladores.

Um... Creo que ya lo he arreglado. El problema era el siguiente:

En la segunda línea del fichero, recorría la capa «capaComentarios» en busca de comentarios a los que hincarle el diente. ¿Correcto? Lo hago con esto:

var comentarios = capaComentarios.getElementsByTagName ("div");

Pero hay un pequeño problema. En la página principal del blog, la capa «capaComentarios» no existe. Dicha capa solo existe cuando entras en una historia y se muestran los comentarios. Por lo tanto, al intentar recorrer esa capa, castañazo que te pego (estás intentando recorrer un objeto nulo).

La solución es simple. Pones un control para que el código no haga nada de nada si no existe esa capa:

if (null != capaComentarios) {
(haces todo lo demás)
}

Acabo de probarlo en los tres navegadores típicos, como siempre. Si ven alguna otra pifia, ya saben. Hagan crecer el contador de comentarios ;)

14 Noviembre 2005 | 11:49 PM

adastra

adastra dijo

Jesús, tienes razón en lo de la posible deshumanización. Lo que pasa es que en hilos de conversación largos puede resultar útil. No te preocupes, que no iba a llamarte #2 en este caso :) Ah, otra cosa, creo que ya hay enlaces permanentes a los enlaces, aunque están en un sitio raro: en la fecha del comentario. Me acabas de dar una idea para arreglarlo ;)

Jacob, como ves, ya está arreglado. Gracias por tu inspiración, nene.

Guiri, se me olvidó mandarles un correo a los amos de La Coctelera para sugerirles los RSS en comentarios. De todas formas, uno de sus creadores se ha pasado por aquí mismito, así que seguramente habrá visto tu sugerencia :D

Álvaro, es un honor, de verdad. De la buena :)

Muchas gracias a todos por los comentarios. Ustedes son la alegría de mi huerta.

14 Noviembre 2005 | 11:54 PM

carlos

carlos dijo

estoy boquiabierto con los cambios que vas implementando.

yo ni siquiera puedo subir una cabecera decente en mi blog, porque se monta sobre el firefox.

sobre los comentarios numerados, he visto algunos que incluso se montan un desplegable para ubicar el número de comnetario.

será perfecto cuando tengas 5 millones de visitas al día.

;)

/

15 Noviembre 2005 | 01:39 AM

adastra

adastra dijo

Muchas gracias, Carlos :) Por cierto, creo que el problema que tienes con tu blog se resuelve tocando el estilo #cabecera para que sea más grande (por ejemplo, 200 ó 300 píxeles), y cambiando los márgenes para que no se pegue a la parte superior.

Ah, otra cosa. En el comentario #7 puse «ya hay enlaces permanentes a los enlaces». Quería decir «ya hay enlaces permanentes a los comentarios». Aclarado queda.

15 Noviembre 2005 | 10:03 AM

adastra

adastra dijo

Yo y mis experimentos... En el comentario anterior, La Coctelera me convirtió un enlace interno (al comentario #7) en otro externo, y se va a hacer puñetas. En fin...

15 Noviembre 2005 | 10:04 AM

Ad astra

Ad astra referenció

PRIMICIA MUNDIAL: ¡Suscripción de comentarios en La Coctelera!

... Un pajarito me ha dicho que ya hay disponible un canal RSS para los comentarios en La Coctelera. ¡Guiri, tus plegarias han sido escuchadas! Bueno, las tuyas sólo no :)

Verán, después de leer los comentarios de algunos de ustedes...

22 Noviembre 2005 | 06:41 PM

{ El blog de jomis }

{ El blog de jomis } referenció

Tuneando la coctelera (CSS2): comentarios numerados, dividir palabras muy largas, etc.

... le debemos al maestro adastra, es conseguir la numeración automática de comentarios.
En mi blog yo he seguido una aproximación diferente...

26 Diciembre 2005 | 04:06 PM

Gatinha

Gatinha dijo

Gracias a tus posts, he podido poner el contador de historias (Por mes y el total), e incluso el contador de comentarios, por supuesto con el típico "copy + paste", que yo de programación y lenguaje de computadoras sé lo mismo que "mandarin" es decir = "0".
¿Me podrías, nuevamente, orientar para saber como puedo modificar : tamaño de número, ubicación, etc?

Gracias.
Un beso.

7 Septiembre 2006 | 06:55 PM

Gatinha

Gatinha dijo

Ejem... me refiero a la numeración de los comentarios, que creo no lo aclaré. Ooops

7 Septiembre 2006 | 06:57 PM

Escribe tu comentario


Sobre mí

Te observo

Publicidad Mediasand

Suscripción por correo

Cortesía de FeedBurner

Seis destellos

Blogs de mis amigos

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?