Este complemento CMS 2.X ya no es compatible, pero es completamente funcional y puede continuar usándolo como mejor le parezca. La licencia también le permite desembolsarlo y realizar cambios según sea necesario por razones de soporte heredado.
La versión CMS 3.x de este complemento se puede encontrar aquí: Craft-Disqus y también se puede instalar a través de la tienda de complementos Craft en el CP CP.
Integre el sistema de comentarios de Disqus en sitios web de CMS Craft, incluidos URL de inicio de sesión único (SSO) y de inicio de sesión personalizado.
Relacionado: Disqus para Craft 3.x
Instalación
disqus
en su directorio craft/plugins
git clone https://github.com/nystudio107/disqus.git
directamente en su carpeta craft/plugins
. Luego puedes actualizarlo con git pull
composer require nystudio107/disqus
disqus
para que Craft la vea. GitHub recientemente comenzó a agregar -master
(el nombre de la rama) al nombre de la carpeta para descargas de archivos zip. Primero, asegúrese de haber configurado una cuenta de Disqus.
A continuación, en el CP CP CP CP, vaya a Configuración-> Plugins-> Disqus e ingrese el nombre corto para su sitio de Disqus. Esta es la única configuración requerida para el complemento Disqus.
Todas las configuraciones también son configurables a través del archivo config.php
, que es una forma amigable con el ambiente múltiple para almacenar la configuración predeterminada. No edite este archivo, en su lugar, copie para craft/config
como disqus.php
y hacer sus cambios allí.
La verdadera utilidad del complemento Disqus es que se encarga de la integración de inicio de sesión único (SSO) con su sitio de artesanía.
Antes de que pueda usar esto, deberá configurar la API DISQUS SSO como se describe en la página web de inicio de inicio de sesión integral.
Luego, copie y pegue la tecla API y el secreto API en la configuración del complemento Disqus, y encienda el Switch "Sign en" SIGN en "LightSwitch.
El complemento Disqus también se encargará de las URL de inicio de sesión/cierre de sesión personalizadas, si desea usarlas. Consulte Agregar sus propios enlaces de inicio de sesión e inicio de sesión de SSO para más detalles.
Solo necesita esto es que desea que se muestre un botón de inicio de sesión personalizado en la propia interfaz de usuario de Disqus.
url
debe ser la dirección de su página de inicio de sesión. La página se abrirá en una nueva ventana y debe cerrarse después de que se realice la autenticación. Así es como sabemos cuándo se hace y recarga la página.
logout
debe establecerse en http://example.com/actions/disqus/logoutRedirect
para presionar el controlador Disqus que maneja el cierre de sesión y la redirección.
Todos estos métodos logran lo mismo:
{# Output the Disqus embed code using the 'disqusEmbed' function #}
{{ disqusEmbed( DISQUS_IDENTIFIER, DISQUS_TITLE, DISQUS_URL, DISQUS_CATEGORY_ID, DISQUS_LANGUAGE) }}
{# Output the Disqus embed code using the 'disqusEmbed' filter #}
{{ DISQUS_IDENTIFIER | disqusEmbed(DISQUS_TITLE, DISQUS_URL, DISQUS_CATEGORY_ID, DISQUS_LANGUAGE) }}
{# Output the Disqus embed code using the 'disqusEmbed' variable #}
{{ craft.disqus.disqusEmbed( DISQUS_IDENTIFIER, DISQUS_TITLE, DISQUS_URL, DISQUS_CATEGORY_ID, DISQUS_LANGUAGE) }}
Todos los parámetros, excepto DISQUS_IDENTIFIER
son opcionales. Para obtener más información sobre cuáles son estos parámetros, consulte las variables de configuración de JavaScript
Disqus ignora cualquier configuración que sea una cadena vacía, por ejemplo: ''
La etiqueta de ramita típica que usará se vería así:
{{ disqusEmbed(entry.slug, entry.title, entry.url) }}
... que dará como resultado comentarios que sean únicos por entrada.
En su caso más básico, esto dará como resultado la salida de su plantilla de artesanía que se ve así:
<div id="disqus_thread"></div>
<script data-cfasync="false" type="text/javascript">
/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables
*/
if (typeof disqus_config !== 'undefined') {
var _old_disqus_config = disqus_config;
}
var disqus_config = function() {
if (typeof _old_disqus_config !== 'undefined') {
_old_disqus_config.apply(this);
}
this.page.url = 'DISQUS_URL';
this.page.identifier = 'DISQUS_IDENTIFIER';
this.page.title = 'DISQUS_TITLE';
this.page.category_id = 'DISQUS_CATEGORY_ID';
this.language = 'DISQUS_LANGUAGE';
};
(function() { // REQUIRED CONFIGURATION VARIABLE: EDIT THE SHORTNAME BELOW
var d = document, s = d.createElement('script');
s.src = '//DISQUS_SHORTNAME.disqus.com/embed.js'; // IMPORTANT: Replace EXAMPLE with your forum shortname!
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
La configuración DISQUS_SHORTNAME
se toma de la configuración de administración CP o config.php
, y el resto de la configuración DISQUS_*
se pasa como variables del filtro/función disqusEmbed
Twig.
Si ha activado "Signo de usuario de usuario", también generará algo como esto dentro de la etiqueta anterior:
this.page.remote_auth_s3 = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6IkFkbWluIiwiZW1haWwiOiJhbmRyZXdAbWVnYWxvbWFuaWFjLmNvbSJ9 c0e4b8f2eca3c0e995cdd64ba2dedd720820ab5b 1431214361";
this.page.api_key = "GTX1r1JBbiJah3hzZkBO06hI71VxjyWxgdurckHYBWLiELkHDidVmnDkBW0XeROe";
Lo cual, suponiendo que haya configurado el DISQUS SSO correctamente, permitirá que sus usuarios de artesanía se registren en Disqus utilizando las credenciales de su sitio web de artesanía.
Si tiene "Usar URL de inicio de sesión/cierre de sesión personalizadas", también generará la configuración this.sso
para usted, como se describe aquí
De forma predeterminada, Disqus utilizará el lenguaje que ha establecido en Disqus Admin > Setup > Appearance
, sin embargo, también puede usarlo en sitios web multilingües.
El parámetro DISQUS_LANGUAGE
que puede proporcionar a {{ disqusEmbed() }}
le permite controlar el lenguaje en el que se muestra la incrustación de disqus. Sin embargo, los comentarios aún serán los mismos para todos los idiomas.
Si desea que los comentarios sean diferentes por idioma, puede hacer algo como:
{{ disqusEmbed(entry.slug ~ "_" ~ entry.locale, entry.title, entry.url, '', entry.locale ) }}
Esto dará como resultado comentarios que son diferentes para cada idioma, y la incrustación de Disqus se mostrará en el mismo idioma que los comentarios.
Traído a usted por Nystudio107