CULTURA

BlogEngine.net: el recuento de comentarios de Disqus genera un error por eso

Si en su sitio en BlogEngine.net ha decidido administrar los comentarios de su Blog con la plataforma Disqus, entonces debe saber que deberá actualizar el archivo Helpers.cs, para solucionar el problema de que count.js no funciona y descargar la versión de Source of Blogengine.

Disqus es un servicio de alojamiento de comentarios para sitios web y comunidades virtuales que funciona a través de una plataforma en línea. Su uso es muy ventajoso tanto por sus múltiples funcionalidades como por la posibilidad de ponerse en contacto con otros usuarios que lo utilicen.

Desafortunadamente, en BlogEngine.net hay un fragmento de código Disqus desactualizado y esto genera un error en count.js que ralentiza la carga de las páginas de su blog.

Disqus en BlogEngine

Para trabajar en el código, deberá descargar la versión fuente de BlogEngine conectándose a la página de BlogEngine Codeplex, en la sección Descargar, y después de la instalación también Estudio visual, la versión Express, abra el proyecto Blogengine descargado anteriormente (el de origen).

De VS Rápido, abre el archivo de la solución BlogEngine.sln. Esta solución contiene 2 proyectos – el proyecto BlogEngine Centro es la sitio principal. Una vez el proyecto está abierto, todo lo que tiene que hacer es realizar los siguientes pasos para producir el archivo BlogEngine.Core.dll para el directorio COMPARTIMIENTO contenido en su sitio.

El archivo a modificar en cuestión se encuentra en esta ruta: BlogEngine BlogEngine.Core Web Scripting Helpers.cs. La línea 117 incluye un fragmento de código para que Disqus cambie a:

Líneas de código en el archivo Helpers.cs

if (BlogSettings.Instance.ModerationType == BlogSettings.Moderation.Disqus)
{
sb.Append("<script type="text/javascript"> n");
sb.Append("//<![CDATA[ n");
sb.Append("(function() { ");
sb.Append("var links = document.getElementsByTagName('a'); ");
sb.Append("var query = '?'; ");
sb.Append("for(var i = 0; i < links.length; i++) { ");
sb.Append("if(links[i].href.indexOf('#disqus_thread') >= 0) { ");
sb.Append("query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&'; ");
sb.Append("}}");
sb.Append("document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/");
sb.Append(BlogSettings.Instance.DisqusWebsiteName);
sb.Append("/get_num_replies.js' + query + '"></' + 'script>'); ");
sb.Append("})(); n");
sb.Append("//]]> n");
sb.Append("</script> n");
}

Cambios para aplicar al código Helpers.cs

if (BlogSettings.Instance.ModerationType == BlogSettings.Moderation.Disqus)
{
sb.Append("<script type="text/javascript">");
sb.Append("    var disqus_shortname="" + BlogSettings.Instance.DisqusWebsiteName + "";");
sb.Append("    (function () {");
sb.Append("        var s = document.createElement('script'); s.async = true;");
sb.Append("        s.type="text/javascript";");
sb.Append("        s.src="https://" + disqus_shortname + '.disqus.com/count.js';");
sb.Append("        (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);");
sb.Append("    }());");
sb.Append("</script>");
}

Al final, realice la Recompilación de Blogengine.Core.dll en Visual Studio Express y copie el archivo de Fuente BlogEngine BlogEngine.Core bin Release al directorio Compartimiento de tu Blog. Si tiene Filezilla, simplemente puede cargar y corregir.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar