Ce plugin CRAFT CMS 2.x n'est plus pris en charge, mais il est entièrement fonctionnel, et vous pouvez continuer à l'utiliser comme bon vous semble. La licence vous permet également de le débarrasser et d'apporter des modifications au besoin pour des raisons de support héritées.
La version Craft CMS 3.x de ce plugin peut être trouvée ici: Craft-Disqus et peut également être installée via le magasin de plugin Craft dans le CRAft CP.
Intégrez le système de commentaires Disqus dans les sites Web CRS CMS, y compris les URL de connexion / déconnexion personnalisées.
Connexes: Disqus pour Craft 3.x
Installation
disqus
dans votre répertoire craft/plugins
git clone https://github.com/nystudio107/disqus.git
directement dans votre dossier craft/plugins
. Vous pouvez ensuite le mettre à jour avec git pull
composer require nystudio107/disqus
disqus
pour que l'artisanat le voie. GitHub a récemment commencé à appliquer -master
(le nom de la branche) au nom du dossier pour les téléchargements de fichiers zip. Tout d'abord, assurez-vous d'avoir mis en place un compte Disqus.
Ensuite dans le Craft Admin CP, accédez à Paramètres-> Plugins-> Disqus et entrez le nom court pour votre site Disqus. Il s'agit du seul paramètre requis pour le plugin Disqus.
Tous les paramètres sont également configurables via le fichier config.php
, qui est une façon multi-environnement de stocker les paramètres par défaut. Ne modifiez pas ce fichier, copiez-le plutôt sur craft/config
comme disqus.php
et effectuez vos modifications là-bas.
L'utilité réelle du plugin Disqus est qu'elle prend soin de l'intégration unique de signe (SSO) avec votre site d'artisanat.
Avant de pouvoir l'utiliser, vous devrez configurer l'API Disqus SSO comme décrit sur la page Web d'intégration unique.
Ensuite, copiez et collez la touche API et le secret de l'API dans les paramètres du plugin Disqus, et activez le "utilisateur unique" LightSwitch.
Le plugin Disqus s'occupera également des URL de connexion / déconnexion personnalisés, si vous souhaitez les utiliser. Veuillez consulter l'ajout de vos propres liens de connexion et de déconnexion SSO pour plus de détails.
Vous avez seulement besoin de ceci, c'est que vous souhaitez afficher un bouton de connexion personnalisé dans l'interface utilisateur Disqus lui-même.
url
doit être l'adresse de votre page de connexion. La page sera ouverte dans une nouvelle fenêtre et elle doit se fermer une fois l'authentification terminée. C'est ainsi que nous savons quand cela se fait et recharger la page.
logout
doit être définie sur http://example.com/actions/disqus/logoutRedirect
pour frapper le contrôleur Disqus qui gère la déconnexion et la redirection.
Toutes ces méthodes accomplissent la même chose:
{# 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) }}
Tous les paramètres à l'exception de DISQUS_IDENTIFIER
sont facultatifs. Pour plus d'informations sur ces paramètres, veuillez consulter les variables de configuration JavaScript
Disqus ignore tous les paramètres qui sont des chaînes vides, par exemple: ''
La balise Twig typique que vous utilisez ressemblerait à ceci:
{{ disqusEmbed(entry.slug, entry.title, entry.url) }}
... ce qui se traduira par des commentaires uniques par entrée.
Dans son cas le plus élémentaire, cela entraînera la sortie de votre modèle d'artisanat qui ressemble à ceci:
<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>
Le paramètre DISQUS_SHORTNAME
est tiré à partir des paramètres Admin CP ou config.php
, et les autres paramètres DISQUS_*
sont passés en variables du filtre / fonction disqusEmbed
.
Si vous avez activé "User Single Sign on", il sortira également quelque chose comme celui-ci à l'intérieur de la balise ci-dessus:
this.page.remote_auth_s3 = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6IkFkbWluIiwiZW1haWwiOiJhbmRyZXdAbWVnYWxvbWFuaWFjLmNvbSJ9 c0e4b8f2eca3c0e995cdd64ba2dedd720820ab5b 1431214361";
this.page.api_key = "GTX1r1JBbiJah3hzZkBO06hI71VxjyWxgdurckHYBWLiELkHDidVmnDkBW0XeROe";
Ce qui, en supposant que vous avez correctement configuré le Disqus SSO, permettra à vos utilisateurs de métiers d'être connectés à Disqus en utilisant les informations d'identification de votre site Web d'artisanat.
Si vous avez "Utiliser des URL de connexion / déconnexion personnalisés" activés, il générera également les paramètres this.sso
pour vous, comme décrit ici
Par défaut, Disqus utilisera la langue que vous avez définie dans Disqus Admin > Setup > Appearance
, mais vous pouvez également l'utiliser sur des sites Web multilingues.
Le paramètre DISQUS_LANGUAGE
que vous pouvez fournir à {{ disqusEmbed() }}
vous permet de contrôler la langue dans laquelle l'intégration de Disqus est affichée. Les commentaires seront cependant toujours les mêmes pour toutes les langues.
Si vous souhaitez que les commentaires soient eux-mêmes différents, vous pouvez faire quelque chose comme:
{{ disqusEmbed(entry.slug ~ "_" ~ entry.locale, entry.title, entry.url, '', entry.locale ) }}
Cela se traduira par des commentaires différents pour chaque langue, et l'intégration Disqus sera affichée dans la même langue que les commentaires.
Présenté par Nystudio107