Bueno va un hack nuevo para poder usar myComments en sistemas donde lo unico que podemos hacer es modificar las plantillas, esta ocasión toca a ZoomBlog, un sistema de blogs perteneciente a la familia de ZoomAlgo.

Este hack esta basado en el de Blogger con algunas ligeras modificaciones, debido principalmente a que las etiquetas de la plantilla son diferentes y además de que los elementos del formulario de comentario por alguna razón no cuentan con ID :(

Ok vamos a comenzar:

1) El primer paso es ir a la edición de plantillas y elegir editar la plantilla “index.html” y en ella antes de que termine la sección </head> vamos a insertar el siguiente código:

<zb:Entries>
<script language="javascript">
<!–
function myComments()
{
blogName = "<zb:blogSubtitle>";
blogUrl = "<zb:blogUrl>";
postTitle = "<zb:EntryTitle>";
postID = "<zb:EntryID>";
postUrl = "<zb:EntryPermalink>";
commentAuthor = document.cform<zb:EntryID>.cnick.value;
commentEmail = document.cform<zb:EntryID>.cemail.value;
commentContent = encodeURIComponent(document.cform<zb:EntryID>.comment.value);

msg = "http://www.pecesama.net/mycomments/ping.php?p1="+blogName+"&p2="+blogUrl+"&p3="+postTitle+"&p4="+postID+"&p5="+postUrl+"&p6="+commentAuthor+"&p7="+commentEmail+"&p8="+commentContent;

document.getElementById(’if_mycom’).src=msg;

date = new Date();
var curDate = null;
do { var curDate = new Date(); }
while(curDate-date < 2000);

return true;
}
// –>
</script>
</zb:Entries>

2) Vamos un poco más abajo en la misma plantilla y despues de la etiqueta <body id="home"> ponemos el siguiente código:


<iframe name="if_mycom" id="if_mycom" src="about:blank" width="0" height="0"></iframe>

3) Guardar la plantilla.

4) Ahora cambiemonos a la plantilla “commentPost.html” y en la segunda línea de esta plantilla tenemos la etiqueta del formulario de la siguiente manera:


<form name="cform<zb:EntryID>" action="http://<zb:blogUrl>/cgi-bin/blogComment.cgi" method="post" class="bComment">

Debemos cambiarla por esta:


<form name="cform<zb:EntryID>" action="http://<zb:blogUrl>/cgi-bin/blogComment.cgi" method="post" class="bComment" onSubmit="return myComments();">

5) Guardar la plantilla.

Listo con estos 5 sencillos pasos ya podemos disfrutar de myComments en ZoomBlogs. Que por cierto, el ping al server de myComments se envia cuando se presiona el botón de “Previsualizar” ya que no hay forma de controlar el de enviarlo (al menos hasta donde pude ver).

Nota: Nos podriamos ahorrar el paso de enviar a http://www.pecesama.net/mycomments/ping.php tanto en este como en el de Blogger si Diego permitiera en su API el poder recibir desde GET en lugar de solo por POST.

Nota 2: Ya tengo que pensar en pedir sueldo como myComments Evangelist.