Dieses Craft CMS 2.x -Plugin wird nicht mehr unterstützt, aber es ist voll funktionsfähig, und Sie können es weiterhin nach Belieben verwenden. Die Lizenz ermöglicht es Ihnen auch, sie zu forkieren und bei Bedarf Änderungen vor Anlagenunterstützungsgründen vorzunehmen.
Die Craft CMS 3.x-Version dieses Plugins finden Sie hier: Craft-Disqus und kann auch über das Craft-Plugin-Geschäft im Craft CP installiert werden.
Integrieren Sie das Disqus -Kommentarsystem in Craft CMS -Websites, einschließlich Einzelzeichen auf (SSO) und benutzerdefinierte Anmeldung/Anmelde -URLs.
Verwandte: disqus für Craft 3.x
Installation
disqus
-Verzeichnis in Ihr Verzeichnis craft/plugins
eingit clone https://github.com/nystudio107/disqus.git
direkt in Ihren craft/plugins
Ordner. Sie können es dann mit git pull
aktualisierencomposer require nystudio107/disqus
disqus
bezeichnet werden, damit Craft es sieht. GitHub hat kürzlich mit dem Anhang -master
(dem Zweignamen) mit dem Namen des Ordners für ZIP -Datei -Downloads begonnen. Stellen Sie zunächst sicher, dass Sie ein Disqus -Konto eingerichtet haben.
Gehen Sie im Craft Admin CP zu den Einstellungen-> Plugins-> disqus und geben Sie den kurzen Namen für Ihre Disqus-Site ein. Dies ist die einzige erforderliche Einstellung für das DIQUS -Plugin.
Alle Einstellungen können auch über die Datei config.php
konfiguriert werden. Dies ist eine multi-umweltfreundliche Möglichkeit, die Standardeinstellungen zu speichern. Bearbeiten Sie diese Datei nicht, kopieren Sie sie stattdessen in craft/config
als disqus.php
und nehmen Sie dort Ihre Änderungen vor.
Der eigentliche Nutzen des DISQUS -Plugins besteht darin, dass es sich um das einzelne Anzeichen für SSO -Integration in Ihre Handwerksseite kümmert.
Bevor Sie dies verwenden können, müssen Sie die DISQUS-SSO-API, wie auf der Integration Single Sign-On-Webseite beschrieben, einrichten.
Kopieren Sie dann die API -Taste und das API -Geheimnis in die DISQUS -Plugin -Einstellungen und schalten Sie das Lichtschalter "Benutzer ein.
Das Disqus -Plugin kümmert sich auch um die benutzerdefinierten Login-/Abmelden -URLs, falls Sie sie verwenden möchten. Weitere Informationen finden Sie im Hinzufügen Ihrer eigenen SSO -Login- und Abmeldenlinks.
Sie benötigen nur, dass Sie eine benutzerdefinierte Login -Schaltfläche in der ISQUS -Benutzeroberfläche selbst angezeigt werden.
url
sollte die Adresse Ihrer Anmeldeseite sein. Die Seite wird in einem neuen Fenster geöffnet und muss sich nach der Authentifizierung schließen. So wissen wir, wann es fertig ist, und laden Sie die Seite neu.
logout
sollte auf http://example.com/actions/disqus/logoutRedirect
festgelegt werden, um den Disqus -Controller zu treffen, der das Abmelden und die Umleitung abwickelt.
Alle diese Methoden erreichen dasselbe:
{# 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) }}
Alle Parameter mit Ausnahme von DISQUS_IDENTIFIER
sind optional. Weitere Informationen zu diesen Parametern finden Sie in JavaScript -Konfigurationsvariablen
Disqus ignoriert alle Einstellungen, die leere Zeichenfolgen sind, z. B. ''
Das typische Twig -Tag, den Sie verwenden, sieht folgendermaßen aus:
{{ disqusEmbed(entry.slug, entry.title, entry.url) }}
... was zu Kommentaren führt, die auf der Basis pro Eingang einzigartig sind.
In seinem grundlegendsten Fall führt dies zu einer Ausgabe Ihrer Handwerksvorlage, die so aussieht:
<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>
Die Einstellung DISQUS_SHORTNAME
wird aus den Einstellungen für admin CP oder config.php
entnommen, und der Rest der DISQUS_*
Einstellungen werden als Variablen aus dem disqusEmbed
-Zweigfilter/der Funktion übergeben.
Wenn Sie das "Benutzer -einzelne Zeichen auf" aktiviert haben, gibt es auch so etwas in dem obigen Tag aus:
this.page.remote_auth_s3 = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6IkFkbWluIiwiZW1haWwiOiJhbmRyZXdAbWVnYWxvbWFuaWFjLmNvbSJ9 c0e4b8f2eca3c0e995cdd64ba2dedd720820ab5b 1431214361";
this.page.api_key = "GTX1r1JBbiJah3hzZkBO06hI71VxjyWxgdurckHYBWLiELkHDidVmnDkBW0XeROe";
Unter der Annahme, dass Sie den ISQUS -SSO ordnungsgemäß eingerichtet haben, können Ihre Handwerksbenutzer mithilfe Ihrer Handwerks -Website -Anmeldeinformationen in DISQUS angemeldet werden.
Wenn Sie "benutzerdefinierte Anmeldung/Abmeldungs -URLs verwenden" eingeschaltet haben, generiert dies auch die this.sso
-Einstellungen für Sie, wie hier beschrieben
Standardmäßig verwendet DISQUS die Sprache, die Sie in Disqus Admin > Setup > Appearance
festgelegt haben. Sie können sie jedoch auch auf mehrsprachigen Websites verwenden.
Der Parameter DISQUS_LANGUAGE
, den Sie {{ disqusEmbed() }}
bereitstellen können, ermöglicht es Ihnen, die Sprache zu steuern, in der die DISQUS -Einbettung angezeigt wird. Die Kommentare sind jedoch für alle Sprachen immer noch gleich.
Wenn Sie die Kommentare selbst pro Sprache unterschiedlich machen möchten, können Sie so etwas wie:
{{ disqusEmbed(entry.slug ~ "_" ~ entry.locale, entry.title, entry.url, '', entry.locale ) }}
Dies führt zu Kommentaren, die für jede Sprache unterschiedlich sind, und die DISQUS -Einbettung wird in derselben Sprache wie die Kommentare angezeigt.
Von Nystudio107 zu Ihnen gebracht