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.
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.