Modificar la apariencia de los comentarios usando php

  • Oct
  • 05

1 comentario! 59 palabras - 1 hits

Trucos para diferenciar la apariencia con la que se muestran los comentarios, usando lenguaje php

Despues de experimentar un poco con las plantillas de comentarios en Movable Type, he implementado cuatro pequeñas modificaciones, que describo a continuación. Estas modificaciones me permiten:

  • Alternar el diseño de cada comentario
  • Diferenciar los comentarios hechos por mi.
  • Añadir la imagen del autor del comentario si esta disponible
  • Convertir el numero de orden del comentario a numeros romanos

Alternar el diseño de cada comentario

Para poder dar un formato diferente a los comentarios de manera alterna solo hay que lograr diferenciar la clase principal, para ello, aprovechamos el “Tag” <$MTCommentOrderNumber$> de la siguiente manera

  1.  
  2.     <?php
  3.     if ((1&<$MTCommentOrderNumber$>)) { echo "light"; } if (!(1&<$MTCommentOrderNumber$>)) { echo "dark"; };
  4.     ?>
  5.  

basicamente estamos indicando que se use una clase diferente dependiendo de si el numero es par o impar, sencillo, ¿no?.

Diferenciar los comentarios hechos por mi.

Quizas esta sea la parte más tediosa del asunto, no por lo complicado del codigo a implementar, sino porque hemos de recordar que para que funcione, siempre hemos de firmar nuestros comentarios con el mismo nombre.

El codigo que uso es el siguiente

  1.  
  2.     <?php
  3.     $author="<$MTCommentAuthor$>";
  4.     if ($author=="palabraclave")
  5.     echo " subclase";
  6.     ?>
  7.  

en este caso, usaremos una subclase para diferenciar el comentario de los demas, este script comprueba el campo Nombre introducido en el formulario del comentario y lo compara con la palabra clave que hemos elegido, si coincide, añade una subclase al contenedor del comentario.

Añadir la imagen del autor del comentario si esta disponible

Despues de leer el artículo Movalog: Iconize se me ocurrio la idea de implementarlo para los comentarios, la única pega que se me presentaba, es que no siempre tendria imagenes del autor del comentario, con lo que apache se pasaria el día dando errores 404, la manera más sencilla que se me ha ocurrido para evitar este efecto, ha sido usar una sencilla linea de codigo, que primero compruebe la existencia de la imagen, y si efectivamente, esta disponible, añada el codigo necesario para visualizarla. El codigo para comprobar la existencia de la imagen es el siguiente

  1.  
  2.     <?php
  3.     $filename = "/ruta/absoluta/a/la/imagen/<$MTCommentAuthor$>.gif";
  4.     if (file_exists($filename)) {
  5.      echo "<img src=\"http://www.example.com/ruta/a/la/imagen/<$MTCommentAuthor$>.gif\" alt=\"<MTCommentAuthor>\" />";
  6.     }else{
  7.     }
  8.     ?>
  9.  

Convertir el numero de orden del comentario a numeros romanos

Por ultimo en un intento de dar un toque personal a la apariencia de los comentarios, se me ha ocurrido convertir los numeros que identifican el orden de cada comentario a numeros romanos, una vez mas he utilizado PHP para hacerlo, este es el codigo que utilizo

  1.  
  2.     <?php $num="<$MTCommentOrderNumber$>";
  3.     $araba = array(1,4,5,9,10,40,50,90,100,400,500,900,1000);
  4.     $roma = array("I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M");
  5.     $i = 12;
  6.     $romstr = "";
  7.     while ((integer)$num) {
  8.     while ((integer)$num >= $araba[$i]) {
  9.     (integer)$num -= $araba[$i];
  10.     $romstr.=$roma[$i];
  11.     }
  12.     $i--;
  13.     }
  14.     print("$romstr"); ?>
  15.  

Bueno, eso es todo por ahora, supongo, que no es el codigo más adecuado para obtener los resultados que comento, pero he de añadir, que no tengo mucha experiencia en lenguaje PHP, si alguno, conoce maneras más optimas para hacer lo que comento, estare encantado de contrastar opiniones.

1 comentario

  • Jul
  • 19

# Escrito por Anonymous hace 7 meses, 4 semanas

mmm gracias esta web es muy bonita


Escribe tu comentario

Puedes utilizar este formulario para escribir tu opinion sobre esta entrada, no existe ningun tipo de limitacion a la hora de enviar opiniones, tan solo sigue unas reglas basicas de cortesia y todos estaremos mas contentos.

Puedes identificarte utilizando OpenID, solo tienes que introducir tu URL OpenID en el siguiente campo y pulsar el boton de validar.





Instrucciones para los comentarios

El simbolo * indica que se trata de un campo obligatorio.

Este sitio usa Markdown junto con Smartypants para educar los textos, tambien esta disponible para los comentarios.

A continuación os muestro algunas de las equivalencias:

  • [enlace de ejemplo](http://example.com/) resulta enlace de ejemplo.
  • **Texto en Negrita**
  • _Italica_
  • > blockquote
  • > > nested blockquote
  • * Esto es un elemento de una lista desordenada (ul)
  • 1. Esto es un elemento de una lista ordenada (ol)

MC Puedes seguir las respuestas a tus comentarios con MyComments.